kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2008
- 3 participants
- 45 discussions
Author: vjrj
Date: 2008-12-18 03:46:10 +0100 (Thu, 18 Dec 2008)
New Revision: 998
Added:
trunk/img/kune-initial-diagram.svg
trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.gif
trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.png
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstFormView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/
trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicense.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java
trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/
trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java
trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/MockProvider.java
Removed:
trunk/img/kune-fsm-virtual.svg
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngine.java
trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java
trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
Log:
Incomplete - task New License Wizard
Deleted: trunk/img/kune-fsm-virtual.svg
===================================================================
--- trunk/img/kune-fsm-virtual.svg 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/img/kune-fsm-virtual.svg 2008-12-18 02:46:10 UTC (rev 998)
@@ -1,4294 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- 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="2104.7244"
- height="1488.189"
- id="svg2384"
- sodipodi:version="0.32"
- inkscape:version="0.45"
- version="1.0"
- sodipodi:docbase="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual"
- sodipodi:docname="kune-fsm-virtual.svg"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-fsm-virtual-0.3.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- sodipodi:modified="true">
- <defs
- id="defs2386">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient13535">
- <stop
- style="stop-color:red;stop-opacity:1;"
- offset="0"
- id="stop13537" />
- <stop
- style="stop-color:red;stop-opacity:0;"
- offset="1"
- id="stop13539" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient13535"
- id="linearGradient14836"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.713314,0,0,0.713314,622.9823,646.0215)"
- x1="-429.10291"
- y1="1069.1875"
- x2="-298.24084"
- y2="1069.1875" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient13515">
- <stop
- style="stop-color:lime;stop-opacity:1;"
- offset="0"
- id="stop13517" />
- <stop
- style="stop-color:lime;stop-opacity:0;"
- offset="1"
- id="stop13519" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient13515"
- id="linearGradient14834"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.713314,0,0,0.713314,622.9823,646.0215)"
- x1="-136.75916"
- y1="1069.1875"
- x2="-266.58459"
- y2="1069.1875" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4508">
- <stop
- style="stop-color:#e57601;stop-opacity:1;"
- offset="0"
- id="stop4510" />
- <stop
- style="stop-color:#e57601;stop-opacity:0;"
- offset="1"
- id="stop4512" />
- </linearGradient>
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Lend"
- style="overflow:visible">
- <path
- id="path4473"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
- </marker>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4508"
- id="linearGradient2761"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.662713,-187.2569,265.6362)"
- x1="494.90607"
- y1="81.732811"
- x2="494.90607"
- y2="27.387159" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="white"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="1"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="504.31197"
- inkscape:cy="1586.8947"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- width="2104.7244px"
- height="1488.189px"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="1373"
- inkscape:window-height="933"
- inkscape:window-x="61"
- inkscape:window-y="0"
- showgrid="false"
- guidetolerance="50"
- inkscape:guide-points="false">
- <sodipodi:guide
- orientation="horizontal"
- position="1350"
- id="guide2392" />
- <sodipodi:guide
- orientation="horizontal"
- position="50"
- id="guide2394" />
- <sodipodi:guide
- orientation="vertical"
- position="50"
- id="guide2396" />
- <sodipodi:guide
- orientation="horizontal"
- position="375"
- id="guide2421" />
- <sodipodi:guide
- orientation="horizontal"
- position="700"
- id="guide2423" />
- <sodipodi:guide
- orientation="horizontal"
- position="1025"
- id="guide2425" />
- <sodipodi:guide
- orientation="vertical"
- position="375"
- id="guide2444" />
- <sodipodi:guide
- orientation="vertical"
- position="700"
- id="guide2446" />
- <sodipodi:guide
- orientation="vertical"
- position="1025"
- id="guide2448" />
- <sodipodi:guide
- orientation="vertical"
- position="1350"
- id="guide2450" />
- <sodipodi:guide
- orientation="vertical"
- position="1675"
- id="guide2452" />
- <sodipodi:guide
- orientation="vertical"
- position="2000"
- id="guide2454" />
- <sodipodi:guide
- orientation="horizontal"
- position="1307.8527"
- id="guide3079" />
- <sodipodi:guide
- orientation="horizontal"
- position="982.85"
- id="guide5999" />
- <sodipodi:guide
- orientation="horizontal"
- position="1577.5796"
- id="guide2526" />
- </sodipodi:namedview>
- <metadata
- id="metadata2389">
- <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="Capa 1"
- inkscape:groupmode="layer"
- id="layer1">
- <rect
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect11845"
- width="650.12384"
- height="649.71936"
- x="1350"
- y="138.18896"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- y="138.18896"
- x="700"
- height="649.71936"
- width="650.12384"
- id="rect11843"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect11841"
- width="650.12384"
- height="649.71936"
- x="50"
- y="138.18896"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="8"
- ry="8"
- y="506.33896"
- x="1709.2926"
- height="244.05594"
- width="260.89908"
- id="rect6603"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- xml:space="preserve"
- style="font-size:40.39572144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- x="136.26575"
- y="53.543423"
- id="text2214"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan2215"
- x="136.26575"
- y="53.543423">kune</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:21.20457649px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#dd8a3d;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- x="135.88113"
- y="77.053635"
- id="text2223"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan2224"
- x="135.88113"
- y="77.053635">libre/free projects</tspan><tspan
- id="tspan7145"
- sodipodi:role="line"
- x="135.88113"
- y="98.258211">collaborative platform</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#e57601;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- x="443.77328"
- y="70.117912"
- id="text3418"
- sodipodi:linespacing="100%"><tspan
- id="tspan3426"
- sodipodi:role="line"
- x="443.77328"
- y="70.117912">descriptive diagrams</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text7201"
- y="1269.7841"
- x="1024.6045"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:#520;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- y="1269.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan7203">possible initiatives</tspan><tspan
- y="1287.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan7205">using kune software:</tspan><tspan
- y="1305.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan16596"
- dx="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1">World Social Forum, World Cultural Forum,FSF,</tspan><tspan
- y="1323.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan16608">creative commons, indymedia, ourproject.org,</tspan><tspan
- y="1341.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan21566">public organisms</tspan><tspan
- y="1359.7841"
- x="1024.6045"
- sodipodi:role="line"
- id="tspan16598" /></text>
- <g
- id="g17049"
- transform="translate(2374.993,-45.67537)">
- <g
- transform="translate(-420.3467,-6.57331)"
- id="g17051">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- id="path17053"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- id="path17055"
- style="fill-rule:evenodd" />
- <polygon
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)"
- i:knockout="Off"
- clip-rule="evenodd"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- id="polygon17057"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- id="path17059"
- style="fill-rule:evenodd" />
- </g>
- <g
- transform="translate(-409.3689,-55.4533)"
- id="g17061">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- id="path17063"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- id="path17065" />
- </g>
- <g
- style="fill:#e6e6e6"
- transform="translate(-386.6044,-99.48)"
- id="g17067">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- id="path17069"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- id="path17071"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- </g>
- <path
- style="fill:#e6e6e6"
- id="path17073"
- d="M -418.28669,96.59871 C -413.90873,96.59871 -410.20814,98.10862 -407.18441,101.12697 C -404.16167,104.14679 -402.65029,107.84251 -402.65029,112.21509 C -402.65029,116.58768 -404.1358,120.24484 -407.10633,123.1856 C -410.25986,126.28302 -413.98681,127.83148 -418.28669,127.83148 C -422.53434,127.83148 -426.1959,126.29619 -429.27037,123.22513 C -432.34631,120.15407 -433.88306,116.48325 -433.88306,112.21509 C -433.88306,107.94694 -432.34631,104.25074 -429.27037,101.12697 C -426.27398,98.10862 -422.61243,96.59871 -418.28669,96.59871 z M -430.36986,108.02014 C -430.83591,109.33778 -431.06919,110.73593 -431.06919,112.21509 C -431.06919,115.67705 -429.80523,118.67003 -427.27733,121.19403 C -424.74943,123.719 -421.73986,124.98149 -418.24765,124.98149 C -414.75592,124.98149 -411.72,123.7068 -409.13988,121.15547 C -408.2761,120.32049 -407.56457,119.41034 -407.00629,118.42309 L -412.89318,115.80149 C -413.29188,117.78233 -415.05751,119.12046 -417.19159,119.2776 L -417.19159,121.68497 L -418.98406,121.68497 L -418.98406,119.2776 C -420.73699,119.2576 -422.42991,118.54119 -423.7246,117.40754 L -421.57345,115.23882 C -420.5374,116.21386 -419.50184,116.6521 -418.08758,116.6521 C -417.17158,116.6521 -416.15554,116.2939 -416.15554,115.09973 C -416.15554,114.67663 -416.32,114.38236 -416.57767,114.16129 L -418.0661,113.49857 L -420.09965,112.85195 C -421.10154,112.5284 -421.87113,112.13164 -422.3938,111.57238 L -430.36986,108.02014 z M -418.24716,99.40917 C -421.79159,99.40917 -424.78798,100.65897 -427.2378,103.15759 C -427.90443,103.83105 -428.48467,104.5333 -428.97708,105.26678 L -423.00723,107.92449 C -422.46846,106.26818 -420.89414,105.26483 -418.98357,105.1521 L -418.98357,102.74473 L -417.1911,102.74473 L -417.1911,105.1521 C -415.95594,105.21163 -414.60122,105.54983 -413.267,106.5849 L -415.3186,108.6936 C -416.0755,108.1563 -417.03152,107.77809 -417.98802,107.77809 C -418.76445,107.77809 -419.86004,108.01721 -419.86004,108.99177 C -419.86004,109.14062 -419.81026,109.27141 -419.71949,109.38804 L -417.72254,110.27671 L -416.23411,110.74227 C -415.27565,111.03313 -414.45823,111.40841 -413.86335,111.995 L -405.8619,115.55798 C -405.59691,114.50973 -405.46515,113.39462 -405.46515,112.21412 C -405.46515,108.64773 -406.71543,105.62937 -409.21698,103.15613 C -411.69365,100.65848 -414.70322,99.40917 -418.24716,99.40917 z "
- i:knockout="Off" />
- </g>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="1840.093"
- y="27.303005"
- id="text17386"
- sodipodi:linespacing="100%"><tspan
- id="tspan17390"
- sodipodi:role="line"
- x="1840.093"
- y="27.303005">about this doc:</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text21552"
- y="94.959846"
- x="1840.2555"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- y="94.959846"
- x="1840.2555"
- sodipodi:role="line"
- id="tspan21554">version 0.4</tspan></text>
- <rect
- rx="8"
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect16307"
- width="260.89908"
- height="244.05594"
- x="82.58197"
- y="505.039"
- ry="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="5.0739045"
- style="color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017985;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect16309"
- width="215.29562"
- height="101.40706"
- x="107.88373"
- y="555.24561"
- ry="5.0739012"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="117.87036"
- y="565.97632"
- id="text16311"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan16313"
- sodipodi:role="line"
- x="117.87036"
- y="565.97632">project/group A users</tspan></text>
- <rect
- rx="5.0739045"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect16315"
- width="215.29562"
- height="20.295618"
- x="107.38367"
- y="665.83435"
- ry="5.0739045"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="117.37036"
- y="678.97632"
- id="text16317"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan16319"
- sodipodi:role="line"
- x="117.37036"
- y="678.97632">project/group B users</tspan></text>
- <rect
- rx="5.0739045"
- ry="5.0739045"
- y="707.83435"
- x="107.38367"
- height="20.295618"
- width="215.29562"
- id="rect16321"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text16323"
- y="720.97632"
- x="117.37036"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="720.97632"
- x="117.37036"
- sodipodi:role="line"
- id="tspan16325">project/group N users</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text16327"
- y="698.00366"
- x="205.88452"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="698.00366"
- x="205.88452"
- sodipodi:role="line"
- id="tspan16329">. . . </tspan></text>
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="397.57626"
- y="698.08447"
- id="text16363"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- sodipodi:role="line"
- x="397.57626"
- y="698.08447"
- id="tspan18436">an user creates project >>> he/she is the coordinator</tspan><tspan
- sodipodi:role="line"
- x="397.57626"
- y="712.08447"
- id="tspan18438">coordinator >>> invites other users to collab/subsc.</tspan><tspan
- sodipodi:role="line"
- x="397.57626"
- y="726.08447"
- id="tspan18430">coordinator >>> chooses other coordinators</tspan><tspan
- sodipodi:role="line"
- x="397.57626"
- y="740.08447"
- id="tspan18432">user >>> subcribe to blogs/calendar/etc</tspan><tspan
- sodipodi:role="line"
- x="397.57626"
- y="754.08447"
- id="tspan5985">or</tspan><tspan
- sodipodi:role="line"
- x="397.57626"
- y="768.08447"
- id="tspan18434">user >>> request to collaborate</tspan></text>
- <rect
- rx="5.0739088"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16018057;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect17480"
- width="198.70473"
- height="77.69043"
- x="117.4787"
- y="573.32605"
- ry="5.0739083"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- ry="5.0739036"
- rx="5.0739079"
- y="588.61475"
- x="129.03632"
- height="57.530052"
- width="170.37749"
- id="rect17492"
- style="opacity:0.66000001;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:2.07187319;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187306, 4.14374613;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- id="g18410"
- transform="translate(517.62,308.855)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <rect
- ry="5.073904"
- rx="5.0739079"
- y="306.05661"
- x="-380.58337"
- height="23.233286"
- width="80.210175"
- id="rect17488"
- style="opacity:0.66000001;color:black;fill:#c8b7b7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:2.07187319;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.0718732, 4.14374641;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <text
- inkscape:transform-center-x="-380.01193"
- inkscape:transform-center-y="-905.97048"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="-373.09253"
- y="322.27383"
- id="text17482"
- sodipodi:linespacing="100%"><tspan
- id="tspan17484"
- sodipodi:role="line"
- x="-373.09253"
- y="322.27383">coordinators</tspan></text>
- </g>
- <text
- inkscape:transform-center-x="-380.01193"
- inkscape:transform-center-y="-905.97048"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="144.5271"
- y="605.12878"
- id="text17494"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan17496"
- sodipodi:role="line"
- x="144.5271"
- y="605.12878">collaborators</tspan></text>
- <text
- inkscape:transform-center-x="-380.01193"
- inkscape:transform-center-y="-905.97048"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="144.5271"
- y="584.57562"
- id="text17499"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan17501"
- sodipodi:role="line"
- x="144.5271"
- y="584.57562">subscribers</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text17513"
- y="527.323"
- x="113.63623"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="-905.97048"
- inkscape:transform-center-x="-380.01193"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="527.323"
- x="113.63623"
- sodipodi:role="line"
- id="tspan17515">site admin users</tspan></text>
- <rect
- style="color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:maroon;stroke-width:2.07187462;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187465, 4.14374932;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect17517"
- width="96.184792"
- height="18.25466"
- x="107.16443"
- y="513.59503"
- rx="5.0739136"
- ry="5.0739021"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text16373"
- y="616.86957"
- x="397.95224"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan16580"
- y="616.86957"
- x="397.95224"
- sodipodi:role="line">every project/group/user selects </tspan><tspan
- y="630.86957"
- x="397.95224"
- sodipodi:role="line"
- id="tspan5989"> the tools that want's to use;</tspan><tspan
- id="tspan16588"
- y="644.86957"
- x="397.95224"
- sodipodi:role="line">you can see and interact with content </tspan><tspan
- y="658.86957"
- x="397.95224"
- sodipodi:role="line"
- id="tspan5542"> depending on your role (anonymous users have </tspan><tspan
- id="tspan16586"
- y="672.86957"
- x="397.95224"
- sodipodi:role="line"> less tools and functionality)</tspan></text>
- <rect
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect2567"
- width="260.89908"
- height="244.05594"
- x="83.065262"
- y="180.92395"
- ry="8"
- rx="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text3473"
- y="215.51828"
- x="116.4381"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="215.51828"
- x="116.4381"
- id="tspan3475"
- sodipodi:role="line">public space</tspan></text>
- <rect
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.7925415;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3513"
- width="221.14651"
- height="98.937096"
- x="99.126381"
- y="317.68924"
- ry="4.7300801"
- rx="6.4203801"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.79254222;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect10295"
- width="205.24545"
- height="37.32819"
- x="109.63671"
- y="368.78491"
- ry="1.7846223"
- rx="1.7846223"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text3515"
- y="339.55713"
- x="116.4381"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="339.55713"
- x="116.4381"
- sodipodi:role="line"
- id="tspan3519">group/projects</tspan><tspan
- y="357.55713"
- x="116.4381"
- sodipodi:role="line"
- id="tspan10318">& users space</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text3613"
- y="163.92476"
- x="90.94828"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="163.92476"
- x="90.94828"
- sodipodi:role="line"
- id="tspan3615">kune site spaces</tspan></text>
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.03333509;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.03333518, 3.10000554;stroke-dashoffset:0;stroke-opacity:1"
- d="M 295.26709,395.24634 C 465.3661,575.9561 464.51022,576.8562 464.51022,576.8562"
- id="path7249"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text10297"
- y="391.59406"
- x="118.33145"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="391.59406"
- x="118.33145"
- sodipodi:role="line"
- id="tspan10299">private space</tspan></text>
- <rect
- style="color:black;fill:url(#linearGradient2761);fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999988;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3617"
- width="51.148849"
- height="95.864983"
- x="255.50064"
- y="294.11398"
- ry="8"
- rx="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text3619"
- y="310.45432"
- x="280.22314"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="310.45432"
- x="280.22314"
- id="tspan3621"
- sodipodi:role="line">tools</tspan></text>
- <g
- id="g11896"
- transform="matrix(0.573628,0,0,0.573628,160.845,252.6829)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="matrix(0.466834,0,0,0.466834,102.2554,34.36791)"
- d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z"
- sodipodi:ry="26.82268"
- sodipodi:rx="26.82268"
- sodipodi:cy="332.62314"
- sodipodi:cx="250.53525"
- id="path10307"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- id="path10309"
- d="M 192.54305,219.84063 L 213.17501,196.18936"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:10.06436825;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- id="path10311"
- d="M 218.89687,189.64189 L 228.78492,178.30681"
- style="color:black;fill:#e57601;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:10.06436825;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- id="g16122"
- transform="translate(-168.8226,-73.51704)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- id="g16022">
- <rect
- style="opacity:1;color:black;fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect14974"
- width="127.19664"
- height="45.649834"
- x="645.94141"
- y="254.34006"
- ry="8.000001"
- rx="8.0000048" />
- <rect
- rx="8.0000048"
- ry="8.000001"
- y="299.62262"
- x="645.94141"
- height="45.649834"
- width="127.19664"
- id="rect15869"
- style="opacity:1;color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- rx="8.0000048"
- ry="8.000001"
- y="344.90518"
- x="645.94141"
- height="45.649834"
- width="127.19664"
- id="rect15889"
- style="opacity:1;color:black;fill:#deaa87;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect15891"
- width="127.19664"
- height="45.649834"
- x="645.94141"
- y="390.18774"
- ry="8.000001"
- rx="8.0000048" />
- <rect
- rx="8.0000048"
- ry="8.000001"
- y="435.62262"
- x="645.94141"
- height="45.649834"
- width="127.19664"
- id="rect15893"
- style="opacity:1;color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:black;fill:#deaa87;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect15895"
- width="127.19664"
- height="45.649834"
- x="645.94141"
- y="480.90515"
- ry="8.000001"
- rx="8.0000048" />
- <rect
- style="opacity:1;color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect15897"
- width="127.19664"
- height="45.649834"
- x="645.94141"
- y="526.18774"
- ry="8.000001"
- rx="8.0000048" />
- <rect
- rx="8.0000048"
- ry="8.000001"
- y="571.47034"
- x="645.94141"
- height="45.649834"
- width="127.19664"
- id="rect15899"
- style="opacity:1;color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:black;fill:#deaa87;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.00000048;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect15901"
- width="127.19664"
- height="45.649834"
- x="645.94141"
- y="616.75293"
- ry="8.000001"
- rx="8.0000048" />
- </g>
- <g
- transform="translate(-230.2954,190.644)"
- id="g16061">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14872"
- font-size="12"
- x="905.56927"
- y="219.00177"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14874"
- x="905.56927"
- y="219.00177">Todo lists+</tspan>
- <tspan
- sodipodi:role="line"
- x="905.56927"
- y="234.00177"
- id="tspan14876">Calendar</tspan>
- </text>
- <g
- style="display:inline"
- id="g14892"
- transform="matrix(7.525926e-2,0,0,7.525926e-2,850.8449,212.6889)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/task-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect14894"
- width="212.59842"
- height="212.59842"
- x="400.70081"
- y="17.795273"
- rx="50.487343"
- ry="50.487343" />
- <rect
- ry="3.8523214"
- rx="3.8523214"
- y="52.091705"
- x="434.00989"
- height="144.98267"
- width="144.98267"
- id="rect14896"
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:17.71653557;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <rect
- transform="matrix(0.525626,0.850716,-0.937807,0.347157,0,0)"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.7216413;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect14898"
- width="56.213383"
- height="8.8246317"
- x="281.98099"
- y="-344.62512"
- rx="1.4936408"
- ry="0.23447849" />
- <rect
- ry="0.36631206"
- rx="2.7346737"
- y="518.71893"
- x="-162.40094"
- height="13.786203"
- width="102.91988"
- id="rect14900"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:4.60293341;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- transform="matrix(-0.431446,0.902139,0.902139,0.431446,0,0)" />
- </g>
- </g>
- <g
- transform="translate(-231.4257,229.2092)"
- id="g16041">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14856"
- font-size="12"
- x="906.89386"
- y="95.732346"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14858"
- x="906.89386"
- y="95.732346">Blog</tspan>
- </text>
- <g
- transform="translate(232.4308,-89.97188)"
- id="g14902"
- style="display:inline"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/blog-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- ry="3.7996402"
- rx="3.7996402"
- y="174.39368"
- x="649.70081"
- height="16"
- width="16"
- id="rect14904"
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <text
- xml:space="preserve"
- style="font-size:12.96724033px;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:white;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="650.96051"
- y="187.26517"
- id="text14906"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan14908"
- x="650.96051"
- y="187.26517"
- dx="0 -1.5000638">B!</tspan></text>
- </g>
- </g>
- <g
- transform="translate(-232.556,177.057)"
- id="g16071">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14878"
- font-size="12"
- x="908.02405"
- y="284.07925"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14880"
- x="908.02405"
- y="284.07925">Media Gallery</tspan>
- </text>
- <g
- transform="matrix(7.525926e-2,0,0,7.525926e-2,846.7084,272.6336)"
- id="g14910"
- style="display:inline"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/gallery-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- ry="50.487343"
- rx="50.487343"
- y="1.7952728"
- x="485.70081"
- height="212.59842"
- width="212.59842"
- id="rect14912"
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <rect
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:17.71653557;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect14914"
- width="144.98267"
- height="144.98267"
- x="519.00989"
- y="36.091705"
- rx="3.8523214"
- ry="3.8523214" />
- <rect
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:5.32330036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect14916"
- width="144.98267"
- height="13.089419"
- x="519.00989"
- y="102.03833"
- rx="3.8523214"
- ry="0.34779778" />
- <rect
- ry="0.34779778"
- rx="3.8523214"
- y="-598.0459"
- x="36.091705"
- height="13.089419"
- width="144.98267"
- id="rect14918"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:5.32330036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- transform="matrix(0,1,-1,0,0,0)" />
- </g>
- </g>
- <g
- transform="translate(-232.5559,161.9266)"
- id="g16080">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14882"
- font-size="12"
- x="908.02405"
- y="345.01498"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14884"
- x="908.02405"
- y="345.01498">Contact us</tspan>
- </text>
- <g
- style="display:inline"
- id="g14920"
- transform="matrix(8.040202e-2,0,0,8.040202e-2,826.297,311.6945)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/contact-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- id="rect14922"
- width="198.99998"
- height="198.99998"
- x="708.5"
- y="260.59448"
- rx="47.258022"
- ry="47.258022" />
- <g
- transform="translate(297.8105,12.04293)"
- id="g14924"
- style="display:inline">
- <rect
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:16.58332634;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect14926"
- width="135.70914"
- height="87.278542"
- x="442.3349"
- y="304.41229"
- rx="3.6059153"
- ry="2.3190703" />
- <g
- id="g14928"
- transform="translate(14.66737,0)">
- <rect
- ry="0.28330472"
- rx="2.1149886"
- y="582.06805"
- x="-235.58446"
- height="10.662218"
- width="79.597992"
- id="rect14930"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:4.30850172;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- transform="matrix(-0.773897,0.633311,0.633311,0.773897,0,0)" />
- <rect
- transform="matrix(0.773897,0.633311,-0.633311,0.773897,0,0)"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:4.30846024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- id="rect14932"
- width="79.597328"
- height="10.662137"
- x="531.38031"
- y="-45.573627"
- rx="2.1149678"
- ry="0.28330213" />
- </g>
- </g>
- </g>
- </g>
- <g
- transform="translate(-232.5559,204.644)"
- id="g16049">
- <text
- id="text14860"
- x="908.02405"
- y="159.5063"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:#6a3230;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14862"
- x="908.02405"
- y="159.5063">Wiki</tspan>
- <tspan
- sodipodi:role="line"
- x="908.02405"
- y="174.5063"
- id="tspan14864">documents</tspan>
- </text>
- <g
- style="display:inline"
- id="g14940"
- transform="matrix(0.150944,0,0,0.150944,796.62,169.009)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/wiki-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- ry="25.172594"
- rx="25.172594"
- y="-95.905457"
- x="573.99969"
- height="105.9999"
- width="105.9999"
- id="rect14942"
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <text
- transform="scale(-1,1)"
- xml:space="preserve"
- style="font-size:85.90789032px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:white;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="-681.92725"
- y="-19.552691"
- id="text14944"
- sodipodi:linespacing="125%"><tspan
- y="-19.552691"
- x="-681.92725"
- id="tspan14946"
- sodipodi:role="line">w</tspan></text>
- <rect
- ry="0.21012676"
- rx="0.82476318"
- y="-34.665348"
- x="580.45349"
- height="7.9081473"
- width="31.040092"
- id="rect14948"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.91452801;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- transform="matrix(0.999968,7.956733e-3,-1.736808e-2,0.999849,0,0)" />
- <rect
- ry="0.21011046"
- rx="0.55297816"
- y="-54.888927"
- x="580.09912"
- height="7.9075336"
- width="20.811422"
- id="rect14950"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.56759584;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- transform="matrix(0.99993,1.186741e-2,-1.164522e-2,0.999932,0,0)" />
- <rect
- ry="0.21010517"
- rx="0.43952733"
- y="-74.36377"
- x="579.93555"
- height="7.9073353"
- width="16.541685"
- id="rect14952"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.39755106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- transform="matrix(0.999889,1.493059e-2,-9.255928e-3,0.999957,0,0)" />
- </g>
- </g>
- <g
- transform="translate(-231.4256,71.36146)"
- id="g16097">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14886"
- font-size="12"
- x="906.69946"
- y="473.64789"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14888"
- x="906.69946"
- y="473.64789">user/project</tspan>
- <tspan
- sodipodi:role="line"
- x="906.69946"
- y="488.64789"
- id="tspan14890">preferences</tspan>
- </text>
- <g
- style="display:inline"
- id="g14954"
- transform="matrix(0.109589,0,0,0.109589,830.7343,454.7787)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/admin-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect14956"
- width="146.00005"
- height="146.00005"
- x="469.00006"
- y="139.09456"
- rx="34.67173"
- ry="34.67173" />
- <g
- transform="matrix(1.539651,0,0,1.539651,-294.7185,-112.1297)"
- id="g14958">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path14960"
- sodipodi:cx="250.53525"
- sodipodi:cy="332.62314"
- sodipodi:rx="26.82268"
- sodipodi:ry="26.82268"
- d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z"
- transform="matrix(0.637087,0,0,0.637087,398.1833,-16.99154)" />
- <path
- style="opacity:1;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:13.73482037;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 521.39867,236.12266 L 549.55505,203.84583"
- id="path14962" />
- <path
- style="opacity:1;color:black;fill:#dd8a3d;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:13.73482037;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 557.36367,194.91051 L 570.85786,179.44155"
- id="path14964" />
- </g>
- </g>
- </g>
- <g
- transform="translate(-233.087,225.2092)"
- id="g16091">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14966"
- font-size="12"
- x="908.55518"
- y="406.08157"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- id="tspan16934"
- sodipodi:role="line"
- x="908.55518"
- y="406.08157">other <tspan
- id="tspan18624"
- style="font-size:8px">(faqs, recipes,</tspan>
-</tspan>
- <tspan
- style="font-size:8px"
- id="tspan16938"
- sodipodi:role="line"
- x="908.55518"
- y="417.09458">p2p file sharing, RSS,</tspan>
- <tspan
- style="font-size:8px"
- sodipodi:role="line"
- x="908.55518"
- y="427.09458"
- id="tspan2406">donnations)</tspan>
- </text>
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect14972"
- width="16"
- height="16"
- x="883.79291"
- y="406.4556"
- rx="3.7996402"
- ry="3.7996402" />
- </g>
- <g
- transform="translate(-232.3021,245.9266)"
- id="g16033">
- <text
- style="font-size:12px;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:#6a3230;display:inline;font-family:Bitstream Vera Sans"
- id="text14866"
- font-size="12"
- x="907.7702"
- y="28.552214"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/newUIdraftwithoutcomments-0.1.png"
- inkscape:export-xdpi="71.000000"
- inkscape:export-ydpi="71.000000">
- <tspan
- sodipodi:role="line"
- id="tspan14868"
- x="907.7702"
- y="28.552214">Message</tspan>
- <tspan
- sodipodi:role="line"
- x="907.7702"
- y="43.552214"
- id="tspan14870">boards</tspan>
- </text>
- <g
- style="display:inline"
- id="g14934"
- transform="matrix(8.040202e-2,0,0,8.040202e-2,842.9124,2.787974)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/desarrollo/redefinicion2005/sandbox/images/message-ico.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect14936"
- width="198.99998"
- height="198.99998"
- x="498.68948"
- y="260.87872"
- rx="47.258022"
- ry="47.258022" />
- <path
- sodipodi:nodetypes="ccccccccccccc"
- id="path14938"
- d="M 533.9375,294.75 C 531.93982,294.75 530.34375,295.77774 530.34375,297.0625 C 530.34375,297.0625 530.81894,364.62542 530.81894,383.83043 C 542.42019,387.33043 539.50145,385.28765 549.89488,388.01012 C 546.02892,395.27964 536.99388,418.72028 536.84375,423.78125 C 537.01923,429.76411 543.13095,434.5085 548.875,433.9375 C 552.96309,432.93524 555.10682,430.95088 557.25,427.03125 C 564.96149,414.15128 573.07952,402.05409 582.64167,390.04347 L 662.4375,388.03125 C 664.43518,388.03125 666.03122,386.97226 666.03125,385.6875 L 666.03125,297.0625 C 666.03125,295.77774 664.43519,294.75 662.4375,294.75 L 533.9375,294.75 z "
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:16.58332634;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- </g>
- </g>
- </g>
- <g
- id="g18788"
- transform="translate(98.3262,2.0305)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 351.82388,202.61564 C 352.70604,204.22846 353.42397,205.93685 354.10874,207.64242 C 354.97177,209.83919 355.32644,212.15426 355.54932,214.48809 C 350.62223,216.32385 354.57645,211.09047 356.15013,207.95518 C 359.22535,201.9411 362.95243,196.28446 367.0064,190.89009 L 369.65977,191.06665 C 365.38909,196.30512 361.59829,201.94411 358.71106,208.07034 C 357.50083,210.68621 356.34154,218.13612 352.61323,214.51252 C 352.44903,212.20636 352.09784,209.91939 351.24923,207.7532 C 350.55172,206.069 349.84165,204.32283 348.7438,202.85804 L 351.82388,202.61564 z "
- id="path18766"
- style="fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- d="M 351.82388,247.94901 C 352.70604,249.56183 353.42397,251.27022 354.10874,252.97579 C 354.97177,255.17256 355.32644,257.48763 355.54932,259.82146 C 350.62223,261.65722 354.57645,256.42384 356.15013,253.28855 C 359.22535,247.27447 362.95243,241.61783 367.0064,236.22346 L 369.65977,236.40002 C 365.38909,241.63849 361.59829,247.27748 358.71106,253.40371 C 357.50083,256.01958 356.34154,263.46949 352.61323,259.84589 C 352.44903,257.53973 352.09784,255.25276 351.24923,253.08657 C 350.55172,251.40237 349.84165,249.6562 348.7438,248.19141 L 351.82388,247.94901 z "
- id="path18768"
- style="fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- d="M 351.82388,338.61564 C 352.70604,340.22846 353.42397,341.93685 354.10874,343.64242 C 354.97177,345.83919 355.32644,348.15426 355.54932,350.48809 C 350.62223,352.32385 354.57645,347.09047 356.15013,343.95518 C 359.22535,337.9411 362.95243,332.28446 367.0064,326.89009 L 369.65977,327.06665 C 365.38909,332.30512 361.59829,337.94411 358.71106,344.07034 C 357.50083,346.68621 356.34154,354.13612 352.61323,350.51252 C 352.44903,348.20636 352.09784,345.91939 351.24923,343.7532 C 350.55172,342.069 349.84165,340.32283 348.7438,338.85804 L 351.82388,338.61564 z "
- id="path18770"
- style="fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- d="M 351.82388,429.28227 C 352.70604,430.89509 353.42397,432.60348 354.10874,434.30905 C 354.97177,436.50582 355.32644,438.82089 355.54932,441.15472 C 350.62223,442.99048 354.57645,437.7571 356.15013,434.62181 C 359.22535,428.60773 362.95243,422.95109 367.0064,417.55672 L 369.65977,417.73328 C 365.38909,422.97175 361.59829,428.61074 358.71106,434.73697 C 357.50083,437.35284 356.34154,444.80275 352.61323,441.17915 C 352.44903,438.87299 352.09784,436.58602 351.24923,434.41983 C 350.55172,432.73563 349.84165,430.98946 348.7438,429.52467 L 351.82388,429.28227 z "
- id="path18772"
- style="fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- d="M 351.82388,474.61564 C 352.70604,476.22846 353.42397,477.93685 354.10874,479.64242 C 354.97177,481.83919 355.32644,484.15426 355.54932,486.48809 C 350.62223,488.32385 354.57645,483.09047 356.15013,479.95518 C 359.22535,473.9411 362.95243,468.28446 367.0064,462.89009 L 369.65977,463.06665 C 365.38909,468.30512 361.59829,473.94411 358.71106,480.07034 C 357.50083,482.68621 356.34154,490.13612 352.61323,486.51252 C 352.44903,484.20636 352.09784,481.91939 351.24923,479.7532 C 350.55172,478.069 349.84165,476.32283 348.7438,474.85804 L 351.82388,474.61564 z "
- id="path18774"
- style="fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <g
- style="fill:#d40000"
- transform="matrix(0.235756,0,0,0.235756,394.6832,210.3947)"
- id="g18776">
- <path
- style="fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path18778"
- d="M -155.3748,326.01914 C -150.86878,329.1586 -147.288,333.45063 -143.98624,337.80182 C -137.67411,346.81435 -132.45983,356.60604 -126.8676,366.09383 C -122.95647,372.0574 -124.93581,369.18132 -120.94518,374.73278 L -134.99655,375.59566 C -138.88041,369.95975 -136.96005,372.87663 -140.74196,366.83472 C -146.35421,357.35186 -151.55603,347.52607 -158.25023,338.75421 C -161.53478,334.72898 -165.05372,329.87541 -170.14673,328.35879 L -155.3748,326.01914 z " />
- <path
- style="fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path18780"
- d="M -107.85327,326.35879 C -119.70802,328.15929 -129.35741,335.43909 -138.85403,342.26453 C -148.31771,349.97643 -157.63053,358.00942 -165.89256,367.0152 C -170.36441,372.51873 -175.9349,377.30927 -178.42855,384.00846 L -193.14809,383.67289 C -190.30282,376.70985 -184.6193,371.73933 -179.81354,365.98837 C -171.53275,356.7406 -161.95515,348.72741 -152.27015,340.99248 C -142.98961,334.25782 -133.82929,327.14543 -122.6252,324.01914 L -107.85327,326.35879 z " />
- </g>
- <g
- style="fill:#d40000"
- transform="matrix(0.235756,0,0,0.235756,394.6832,301.0615)"
- id="g18782">
- <path
- style="fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path18784"
- d="M -155.3748,326.01914 C -150.86878,329.1586 -147.288,333.45063 -143.98624,337.80182 C -137.67411,346.81435 -132.45983,356.60604 -126.8676,366.09383 C -122.95647,372.0574 -124.93581,369.18132 -120.94518,374.73278 L -134.99655,375.59566 C -138.88041,369.95975 -136.96005,372.87663 -140.74196,366.83472 C -146.35421,357.35186 -151.55603,347.52607 -158.25023,338.75421 C -161.53478,334.72898 -165.05372,329.87541 -170.14673,328.35879 L -155.3748,326.01914 z " />
- <path
- style="fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path18786"
- d="M -107.85327,326.35879 C -119.70802,328.15929 -129.35741,335.43909 -138.85403,342.26453 C -148.31771,349.97643 -157.63053,358.00942 -165.89256,367.0152 C -170.36441,372.51873 -175.9349,377.30927 -178.42855,384.00846 L -193.14809,383.67289 C -190.30282,376.70985 -184.6193,371.73933 -179.81354,365.98837 C -171.53275,356.7406 -161.95515,348.72741 -152.27015,340.99248 C -142.98961,334.25782 -133.82929,327.14543 -122.6252,324.01914 L -107.85327,326.35879 z " />
- </g>
- </g>
- <rect
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect14693"
- width="260.89908"
- height="244.05594"
- x="733.25739"
- y="505.03363"
- ry="8"
- rx="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="1.6797104"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:0.95113766;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect10957"
- width="237.98792"
- height="35.133797"
- x="740.71301"
- y="541.66791"
- ry="1.6797104"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- id="g10859"
- transform="translate(1279.707,446.8726)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- id="g10831">
- <g
- id="g10508"
- transform="translate(-420.3467,94.12003)">
- <path
- style="fill-rule:evenodd"
- id="path10482"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill-rule:evenodd"
- id="path10484"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <polygon
- style="fill-rule:evenodd"
- id="polygon10486"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- clip-rule="evenodd"
- i:knockout="Off"
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)" />
- <path
- style="fill-rule:evenodd"
- id="path10488"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <g
- id="g10504"
- transform="translate(-409.3689,45.24001)"
- style="fill:#e6e6e6">
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10490"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- id="path10492"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- i:knockout="Off"
- style="fill:#e6e6e6" />
- </g>
- <g
- id="g10500"
- transform="translate(-386.6044,1.21332)">
- <path
- style="fill-rule:evenodd"
- id="path10494"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill-rule:evenodd"
- id="path10496"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <path
- i:knockout="Off"
- d="M -418.28669,197.29205 C -413.90873,197.29205 -410.20814,198.80196 -407.18441,201.82031 C -404.16167,204.84013 -402.65029,208.53585 -402.65029,212.90843 C -402.65029,217.28102 -404.1358,220.93818 -407.10633,223.87894 C -410.25986,226.97636 -413.98681,228.52482 -418.28669,228.52482 C -422.53434,228.52482 -426.1959,226.98953 -429.27037,223.91847 C -432.34631,220.84741 -433.88306,217.17659 -433.88306,212.90843 C -433.88306,208.64028 -432.34631,204.94408 -429.27037,201.82031 C -426.27398,198.80196 -422.61243,197.29205 -418.28669,197.29205 z M -430.36986,208.71348 C -430.83591,210.03112 -431.06919,211.42927 -431.06919,212.90843 C -431.06919,216.37039 -429.80523,219.36337 -427.27733,221.88737 C -424.74943,224.41234 -421.73986,225.67483 -418.24765,225.67483 C -414.75592,225.67483 -411.72,224.40014 -409.13988,221.84881 C -408.2761,221.01383 -407.56457,220.10368 -407.00629,219.11643 L -412.89318,216.49483 C -413.29188,218.47567 -415.05751,219.8138 -417.19159,219.97094 L -417.19159,222.37831 L -418.98406,222.37831 L -418.98406,219.97094 C -420.73699,219.95094 -422.42991,219.23453 -423.7246,218.10088 L -421.57345,215.93216 C -420.5374,216.9072 -419.50184,217.34544 -418.08758,217.34544 C -417.17158,217.34544 -416.15554,216.98724 -416.15554,215.79307 C -416.15554,215.36997 -416.32,215.0757 -416.57767,214.85463 L -418.0661,214.19191 L -420.09965,213.54529 C -421.10154,213.22174 -421.87113,212.82498 -422.3938,212.26572 L -430.36986,208.71348 z M -418.24716,200.10251 C -421.79159,200.10251 -424.78798,201.35231 -427.2378,203.85093 C -427.90443,204.52439 -428.48467,205.22664 -428.97708,205.96012 L -423.00723,208.61783 C -422.46846,206.96152 -420.89414,205.95817 -418.98357,205.84544 L -418.98357,203.43807 L -417.1911,203.43807 L -417.1911,205.84544 C -415.95594,205.90497 -414.60122,206.24317 -413.267,207.27824 L -415.3186,209.38694 C -416.0755,208.84964 -417.03152,208.47143 -417.98802,208.47143 C -418.76445,208.47143 -419.86004,208.71055 -419.86004,209.68511 C -419.86004,209.83396 -419.81026,209.96475 -419.71949,210.08138 L -417.72254,210.97005 L -416.23411,211.43561 C -415.27565,211.72647 -414.45823,212.10175 -413.86335,212.68834 L -405.8619,216.25132 C -405.59691,215.20307 -405.46515,214.08796 -405.46515,212.90746 C -405.46515,209.34107 -406.71543,206.32271 -409.21698,203.84947 C -411.69365,201.35182 -414.70322,200.10251 -418.24716,200.10251 z "
- id="path10498" />
- </g>
- <g
- id="g10845">
- <g
- transform="translate(-420.3467,127.4267)"
- id="g10555">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- id="path10557"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- id="path10559"
- style="fill-rule:evenodd" />
- <polygon
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)"
- i:knockout="Off"
- clip-rule="evenodd"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- id="polygon10561"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- id="path10563"
- style="fill-rule:evenodd" />
- </g>
- <g
- transform="translate(-409.3689,78.54667)"
- id="g10565">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- id="path10567"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- id="path10569" />
- </g>
- <g
- transform="translate(-386.6044,34.51998)"
- id="g10571"
- style="fill:#e6e6e6">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- id="path10573"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- id="path10575"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- </g>
- <path
- id="path10577"
- d="M -418.28669,230.59871 C -413.90873,230.59871 -410.20814,232.10862 -407.18441,235.12697 C -404.16167,238.14679 -402.65029,241.84251 -402.65029,246.21509 C -402.65029,250.58768 -404.1358,254.24484 -407.10633,257.1856 C -410.25986,260.28302 -413.98681,261.83148 -418.28669,261.83148 C -422.53434,261.83148 -426.1959,260.29619 -429.27037,257.22513 C -432.34631,254.15407 -433.88306,250.48325 -433.88306,246.21509 C -433.88306,241.94694 -432.34631,238.25074 -429.27037,235.12697 C -426.27398,232.10862 -422.61243,230.59871 -418.28669,230.59871 z M -430.36986,242.02014 C -430.83591,243.33778 -431.06919,244.73593 -431.06919,246.21509 C -431.06919,249.67705 -429.80523,252.67003 -427.27733,255.19403 C -424.74943,257.719 -421.73986,258.98149 -418.24765,258.98149 C -414.75592,258.98149 -411.72,257.7068 -409.13988,255.15547 C -408.2761,254.32049 -407.56457,253.41034 -407.00629,252.42309 L -412.89318,249.80149 C -413.29188,251.78233 -415.05751,253.12046 -417.19159,253.2776 L -417.19159,255.68497 L -418.98406,255.68497 L -418.98406,253.2776 C -420.73699,253.2576 -422.42991,252.54119 -423.7246,251.40754 L -421.57345,249.23882 C -420.5374,250.21386 -419.50184,250.6521 -418.08758,250.6521 C -417.17158,250.6521 -416.15554,250.2939 -416.15554,249.09973 C -416.15554,248.67663 -416.32,248.38236 -416.57767,248.16129 L -418.0661,247.49857 L -420.09965,246.85195 C -421.10154,246.5284 -421.87113,246.13164 -422.3938,245.57238 L -430.36986,242.02014 z M -418.24716,233.40917 C -421.79159,233.40917 -424.78798,234.65897 -427.2378,237.15759 C -427.90443,237.83105 -428.48467,238.5333 -428.97708,239.26678 L -423.00723,241.92449 C -422.46846,240.26818 -420.89414,239.26483 -418.98357,239.1521 L -418.98357,236.74473 L -417.1911,236.74473 L -417.1911,239.1521 C -415.95594,239.21163 -414.60122,239.54983 -413.267,240.5849 L -415.3186,242.6936 C -416.0755,242.1563 -417.03152,241.77809 -417.98802,241.77809 C -418.76445,241.77809 -419.86004,242.01721 -419.86004,242.99177 C -419.86004,243.14062 -419.81026,243.27141 -419.71949,243.38804 L -417.72254,244.27671 L -416.23411,244.74227 C -415.27565,245.03313 -414.45823,245.40841 -413.86335,245.995 L -405.8619,249.55798 C -405.59691,248.50973 -405.46515,247.39462 -405.46515,246.21412 C -405.46515,242.64773 -406.71543,239.62937 -409.21698,237.15613 C -411.69365,234.65848 -414.70322,233.40917 -418.24716,233.40917 z "
- i:knockout="Off" />
- </g>
- <g
- id="g10775">
- <g
- transform="translate(-420.3467,-39.88)"
- id="g10679">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- id="path10681"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- id="path10683"
- style="fill-rule:evenodd" />
- <polygon
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)"
- i:knockout="Off"
- clip-rule="evenodd"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- id="polygon10685"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- id="path10687"
- style="fill-rule:evenodd" />
- </g>
- <g
- transform="translate(-409.3689,-88.76)"
- id="g10689"
- style="fill:#e6e6e6">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- id="path10691"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- id="path10693"
- style="fill:#e6e6e6" />
- </g>
- <g
- transform="translate(-386.6044,-132.7867)"
- id="g10695"
- style="fill:#e6e6e6">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- id="path10697"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- id="path10699"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- </g>
- <path
- id="path10701"
- d="M -418.28669,63.29205 C -413.90873,63.29205 -410.20814,64.80196 -407.18441,67.82031 C -404.16167,70.84013 -402.65029,74.53585 -402.65029,78.90843 C -402.65029,83.28102 -404.1358,86.93818 -407.10633,89.87894 C -410.25986,92.97636 -413.98681,94.52482 -418.28669,94.52482 C -422.53434,94.52482 -426.1959,92.98953 -429.27037,89.91847 C -432.34631,86.84741 -433.88306,83.17659 -433.88306,78.90843 C -433.88306,74.64028 -432.34631,70.94408 -429.27037,67.82031 C -426.27398,64.80196 -422.61243,63.29205 -418.28669,63.29205 z M -430.36986,74.71348 C -430.83591,76.03112 -431.06919,77.42927 -431.06919,78.90843 C -431.06919,82.37039 -429.80523,85.36337 -427.27733,87.88737 C -424.74943,90.41234 -421.73986,91.67483 -418.24765,91.67483 C -414.75592,91.67483 -411.72,90.40014 -409.13988,87.84881 C -408.2761,87.01383 -407.56457,86.10368 -407.00629,85.11643 L -412.89318,82.49483 C -413.29188,84.47567 -415.05751,85.8138 -417.19159,85.97094 L -417.19159,88.37831 L -418.98406,88.37831 L -418.98406,85.97094 C -420.73699,85.95094 -422.42991,85.23453 -423.7246,84.10088 L -421.57345,81.93216 C -420.5374,82.9072 -419.50184,83.34544 -418.08758,83.34544 C -417.17158,83.34544 -416.15554,82.98724 -416.15554,81.79307 C -416.15554,81.36997 -416.32,81.0757 -416.57767,80.85463 L -418.0661,80.19191 L -420.09965,79.54529 C -421.10154,79.22174 -421.87113,78.82498 -422.3938,78.26572 L -430.36986,74.71348 z M -418.24716,66.10251 C -421.79159,66.10251 -424.78798,67.35231 -427.2378,69.85093 C -427.90443,70.52439 -428.48467,71.22664 -428.97708,71.96012 L -423.00723,74.61783 C -422.46846,72.96152 -420.89414,71.95817 -418.98357,71.84544 L -418.98357,69.43807 L -417.1911,69.43807 L -417.1911,71.84544 C -415.95594,71.90497 -414.60122,72.24317 -413.267,73.27824 L -415.3186,75.38694 C -416.0755,74.84964 -417.03152,74.47143 -417.98802,74.47143 C -418.76445,74.47143 -419.86004,74.71055 -419.86004,75.68511 C -419.86004,75.83396 -419.81026,75.96475 -419.71949,76.08138 L -417.72254,76.97005 L -416.23411,77.43561 C -415.27565,77.72647 -414.45823,78.10175 -413.86335,78.68834 L -405.8619,82.25132 C -405.59691,81.20307 -405.46515,80.08796 -405.46515,78.90746 C -405.46515,75.34107 -406.71543,72.32271 -409.21698,69.84947 C -411.69365,67.35182 -414.70322,66.10251 -418.24716,66.10251 z "
- i:knockout="Off"
- style="fill:#e6e6e6" />
- </g>
- <g
- id="g10789">
- <g
- id="g10703"
- transform="translate(-420.3467,-6.57331)">
- <path
- style="fill-rule:evenodd"
- id="path10705"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill-rule:evenodd"
- id="path10707"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <polygon
- style="fill-rule:evenodd"
- id="polygon10709"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- clip-rule="evenodd"
- i:knockout="Off"
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)" />
- <path
- style="fill-rule:evenodd"
- id="path10711"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <g
- id="g10713"
- transform="translate(-409.3689,-55.4533)">
- <path
- style="fill-rule:evenodd"
- id="path10715"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- id="path10717"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- i:knockout="Off" />
- </g>
- <g
- id="g10719"
- transform="translate(-386.6044,-99.48)"
- style="fill:#e6e6e6">
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10721"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10723"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <path
- i:knockout="Off"
- d="M -418.28669,96.59871 C -413.90873,96.59871 -410.20814,98.10862 -407.18441,101.12697 C -404.16167,104.14679 -402.65029,107.84251 -402.65029,112.21509 C -402.65029,116.58768 -404.1358,120.24484 -407.10633,123.1856 C -410.25986,126.28302 -413.98681,127.83148 -418.28669,127.83148 C -422.53434,127.83148 -426.1959,126.29619 -429.27037,123.22513 C -432.34631,120.15407 -433.88306,116.48325 -433.88306,112.21509 C -433.88306,107.94694 -432.34631,104.25074 -429.27037,101.12697 C -426.27398,98.10862 -422.61243,96.59871 -418.28669,96.59871 z M -430.36986,108.02014 C -430.83591,109.33778 -431.06919,110.73593 -431.06919,112.21509 C -431.06919,115.67705 -429.80523,118.67003 -427.27733,121.19403 C -424.74943,123.719 -421.73986,124.98149 -418.24765,124.98149 C -414.75592,124.98149 -411.72,123.7068 -409.13988,121.15547 C -408.2761,120.32049 -407.56457,119.41034 -407.00629,118.42309 L -412.89318,115.80149 C -413.29188,117.78233 -415.05751,119.12046 -417.19159,119.2776 L -417.19159,121.68497 L -418.98406,121.68497 L -418.98406,119.2776 C -420.73699,119.2576 -422.42991,118.54119 -423.7246,117.40754 L -421.57345,115.23882 C -420.5374,116.21386 -419.50184,116.6521 -418.08758,116.6521 C -417.17158,116.6521 -416.15554,116.2939 -416.15554,115.09973 C -416.15554,114.67663 -416.32,114.38236 -416.57767,114.16129 L -418.0661,113.49857 L -420.09965,112.85195 C -421.10154,112.5284 -421.87113,112.13164 -422.3938,111.57238 L -430.36986,108.02014 z M -418.24716,99.40917 C -421.79159,99.40917 -424.78798,100.65897 -427.2378,103.15759 C -427.90443,103.83105 -428.48467,104.5333 -428.97708,105.26678 L -423.00723,107.92449 C -422.46846,106.26818 -420.89414,105.26483 -418.98357,105.1521 L -418.98357,102.74473 L -417.1911,102.74473 L -417.1911,105.1521 C -415.95594,105.21163 -414.60122,105.54983 -413.267,106.5849 L -415.3186,108.6936 C -416.0755,108.1563 -417.03152,107.77809 -417.98802,107.77809 C -418.76445,107.77809 -419.86004,108.01721 -419.86004,108.99177 C -419.86004,109.14062 -419.81026,109.27141 -419.71949,109.38804 L -417.72254,110.27671 L -416.23411,110.74227 C -415.27565,111.03313 -414.45823,111.40841 -413.86335,111.995 L -405.8619,115.55798 C -405.59691,114.50973 -405.46515,113.39462 -405.46515,112.21412 C -405.46515,108.64773 -406.71543,105.62937 -409.21698,103.15613 C -411.69365,100.65848 -414.70322,99.40917 -418.24716,99.40917 z "
- id="path10725"
- style="fill:#e6e6e6" />
- </g>
- <g
- id="g10803">
- <g
- transform="translate(-420.3467,26.7334)"
- id="g10727">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- id="path10729"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- id="path10731"
- style="fill-rule:evenodd" />
- <polygon
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)"
- i:knockout="Off"
- clip-rule="evenodd"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- id="polygon10733"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- id="path10735"
- style="fill-rule:evenodd" />
- </g>
- <g
- transform="translate(-409.3689,-22.14667)"
- id="g10737"
- style="fill:#e6e6e6">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- id="path10739"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- id="path10741"
- style="fill:#e6e6e6" />
- </g>
- <g
- transform="translate(-386.6044,-66.1734)"
- id="g10743">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- id="path10745"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- id="path10747"
- style="fill-rule:evenodd" />
- </g>
- <path
- id="path10749"
- d="M -418.28669,129.90537 C -413.90873,129.90537 -410.20814,131.41528 -407.18441,134.43363 C -404.16167,137.45345 -402.65029,141.14917 -402.65029,145.52175 C -402.65029,149.89434 -404.1358,153.5515 -407.10633,156.49226 C -410.25986,159.58968 -413.98681,161.13814 -418.28669,161.13814 C -422.53434,161.13814 -426.1959,159.60285 -429.27037,156.53179 C -432.34631,153.46073 -433.88306,149.78991 -433.88306,145.52175 C -433.88306,141.2536 -432.34631,137.5574 -429.27037,134.43363 C -426.27398,131.41528 -422.61243,129.90537 -418.28669,129.90537 z M -430.36986,141.3268 C -430.83591,142.64444 -431.06919,144.04259 -431.06919,145.52175 C -431.06919,148.98371 -429.80523,151.97669 -427.27733,154.50069 C -424.74943,157.02566 -421.73986,158.28815 -418.24765,158.28815 C -414.75592,158.28815 -411.72,157.01346 -409.13988,154.46213 C -408.2761,153.62715 -407.56457,152.717 -407.00629,151.72975 L -412.89318,149.10815 C -413.29188,151.08899 -415.05751,152.42712 -417.19159,152.58426 L -417.19159,154.99163 L -418.98406,154.99163 L -418.98406,152.58426 C -420.73699,152.56426 -422.42991,151.84785 -423.7246,150.7142 L -421.57345,148.54548 C -420.5374,149.52052 -419.50184,149.95876 -418.08758,149.95876 C -417.17158,149.95876 -416.15554,149.60056 -416.15554,148.40639 C -416.15554,147.98329 -416.32,147.68902 -416.57767,147.46795 L -418.0661,146.80523 L -420.09965,146.15861 C -421.10154,145.83506 -421.87113,145.4383 -422.3938,144.87904 L -430.36986,141.3268 z M -418.24716,132.71583 C -421.79159,132.71583 -424.78798,133.96563 -427.2378,136.46425 C -427.90443,137.13771 -428.48467,137.83996 -428.97708,138.57344 L -423.00723,141.23115 C -422.46846,139.57484 -420.89414,138.57149 -418.98357,138.45876 L -418.98357,136.05139 L -417.1911,136.05139 L -417.1911,138.45876 C -415.95594,138.51829 -414.60122,138.85649 -413.267,139.89156 L -415.3186,142.00026 C -416.0755,141.46296 -417.03152,141.08475 -417.98802,141.08475 C -418.76445,141.08475 -419.86004,141.32387 -419.86004,142.29843 C -419.86004,142.44728 -419.81026,142.57807 -419.71949,142.6947 L -417.72254,143.58337 L -416.23411,144.04893 C -415.27565,144.33979 -414.45823,144.71507 -413.86335,145.30166 L -405.8619,148.86464 C -405.59691,147.81639 -405.46515,146.70128 -405.46515,145.52078 C -405.46515,141.95439 -406.71543,138.93603 -409.21698,136.46279 C -411.69365,133.96514 -414.70322,132.71583 -418.24716,132.71583 z "
- i:knockout="Off"
- style="fill:#e6e6e6" />
- </g>
- <g
- id="g10817">
- <g
- id="g10751"
- transform="translate(-420.3467,60.12)">
- <path
- style="fill-rule:evenodd"
- id="path10753"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill-rule:evenodd"
- id="path10755"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <polygon
- style="fill-rule:evenodd"
- id="polygon10757"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- clip-rule="evenodd"
- i:knockout="Off"
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)" />
- <path
- style="fill-rule:evenodd"
- id="path10759"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <g
- id="g10761"
- transform="translate(-409.3689,11.24)"
- style="fill:#e6e6e6">
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10763"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- id="path10765"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- i:knockout="Off"
- style="fill:#e6e6e6" />
- </g>
- <g
- id="g10767"
- transform="translate(-386.6044,-32.7867)"
- style="fill:#e6e6e6">
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10769"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- <path
- style="fill:#e6e6e6;fill-rule:evenodd"
- id="path10771"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- clip-rule="evenodd"
- i:knockout="Off" />
- </g>
- <path
- i:knockout="Off"
- d="M -418.28669,163.29205 C -413.90873,163.29205 -410.20814,164.80196 -407.18441,167.82031 C -404.16167,170.84013 -402.65029,174.53585 -402.65029,178.90843 C -402.65029,183.28102 -404.1358,186.93818 -407.10633,189.87894 C -410.25986,192.97636 -413.98681,194.52482 -418.28669,194.52482 C -422.53434,194.52482 -426.1959,192.98953 -429.27037,189.91847 C -432.34631,186.84741 -433.88306,183.17659 -433.88306,178.90843 C -433.88306,174.64028 -432.34631,170.94408 -429.27037,167.82031 C -426.27398,164.80196 -422.61243,163.29205 -418.28669,163.29205 z M -430.36986,174.71348 C -430.83591,176.03112 -431.06919,177.42927 -431.06919,178.90843 C -431.06919,182.37039 -429.80523,185.36337 -427.27733,187.88737 C -424.74943,190.41234 -421.73986,191.67483 -418.24765,191.67483 C -414.75592,191.67483 -411.72,190.40014 -409.13988,187.84881 C -408.2761,187.01383 -407.56457,186.10368 -407.00629,185.11643 L -412.89318,182.49483 C -413.29188,184.47567 -415.05751,185.8138 -417.19159,185.97094 L -417.19159,188.37831 L -418.98406,188.37831 L -418.98406,185.97094 C -420.73699,185.95094 -422.42991,185.23453 -423.7246,184.10088 L -421.57345,181.93216 C -420.5374,182.9072 -419.50184,183.34544 -418.08758,183.34544 C -417.17158,183.34544 -416.15554,182.98724 -416.15554,181.79307 C -416.15554,181.36997 -416.32,181.0757 -416.57767,180.85463 L -418.0661,180.19191 L -420.09965,179.54529 C -421.10154,179.22174 -421.87113,178.82498 -422.3938,178.26572 L -430.36986,174.71348 z M -418.24716,166.10251 C -421.79159,166.10251 -424.78798,167.35231 -427.2378,169.85093 C -427.90443,170.52439 -428.48467,171.22664 -428.97708,171.96012 L -423.00723,174.61783 C -422.46846,172.96152 -420.89414,171.95817 -418.98357,171.84544 L -418.98357,169.43807 L -417.1911,169.43807 L -417.1911,171.84544 C -415.95594,171.90497 -414.60122,172.24317 -413.267,173.27824 L -415.3186,175.38694 C -416.0755,174.84964 -417.03152,174.47143 -417.98802,174.47143 C -418.76445,174.47143 -419.86004,174.71055 -419.86004,175.68511 C -419.86004,175.83396 -419.81026,175.96475 -419.71949,176.08138 L -417.72254,176.97005 L -416.23411,177.43561 C -415.27565,177.72647 -414.45823,178.10175 -413.86335,178.68834 L -405.8619,182.25132 C -405.59691,181.20307 -405.46515,180.08796 -405.46515,178.90746 C -405.46515,175.34107 -406.71543,172.32271 -409.21698,169.84947 C -411.69365,167.35182 -414.70322,166.10251 -418.24716,166.10251 z "
- id="path10773" />
- </g>
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text10945"
- y="732.14978"
- x="747.68213"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="732.14978"
- x="747.68213"
- sodipodi:role="line"
- id="tspan10949">and others</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text10953"
- y="555.14978"
- x="880.56927"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="555.14978"
- x="880.56927"
- sodipodi:role="line"
- id="tspan10955">recomended</tspan><tspan
- y="569.14978"
- x="880.56927"
- sodipodi:role="line"
- id="tspan10959">for practical works</tspan></text>
- <rect
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect13576"
- width="260.89908"
- height="244.05594"
- x="1058.3624"
- y="505.20319"
- ry="8"
- rx="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187295;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect14503"
- width="241.82729"
- height="66.970657"
- x="1066.3984"
- y="514.35211"
- ry="8.5876827"
- rx="8.5876741"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- style="display:inline"
- id="g14509"
- transform="matrix(1.788852,0,0,1.788852,351.785,506.3676)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <rect
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect14511"
- width="15.999997"
- height="15.999997"
- x="405.52979"
- y="8.8522816"
- rx="3.7996395"
- ry="3.7996395" />
- <g
- transform="matrix(1.635216,0,0,1.635216,-260.6467,-12.57016)"
- id="g14513">
- <path
- style="opacity:1;color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:1.74907231;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 409.34583,20.876719 L 413.22395,17.041177"
- id="path14515" />
- <g
- id="g14517">
- <path
- transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)"
- d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z"
- sodipodi:ry="26.82268"
- sodipodi:rx="26.82268"
- sodipodi:cy="332.62314"
- sodipodi:cx="250.53525"
- id="path14519"
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(5.245387e-2,0,0,5.245387e-2,400.1808,-0.554549)"
- d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z"
- sodipodi:ry="26.82268"
- sodipodi:rx="26.82268"
- sodipodi:cy="332.62314"
- sodipodi:cx="250.53525"
- id="path14521"
- style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- sodipodi:type="arc" />
- </g>
- </g>
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text14523"
- y="541.16681"
- x="1117.6343"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="541.16681"
- x="1117.6343"
- sodipodi:role="line"
- id="tspan14525">local search</tspan></text>
- <rect
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187343;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187325, 4.14374652;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect14557"
- width="96.827301"
- height="149.97063"
- x="1066.2759"
- y="592.35193"
- ry="8.587678"
- rx="8.5876808"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="8.5876703"
- ry="8.587678"
- y="592.35193"
- x="1168.2756"
- height="149.97063"
- width="29.827263"
- id="rect14569"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187223;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187192, 4.14374386;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187223;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187192, 4.14374386;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect14571"
- width="29.827263"
- height="149.97063"
- x="1204.2756"
- y="592.35193"
- ry="8.587678"
- rx="8.5876703"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="8.5876703"
- ry="8.587678"
- y="592.35193"
- x="1240.2756"
- height="149.97063"
- width="66.827263"
- id="rect14573"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187223;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187197, 4.14374398;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text14559"
- y="645.79883"
- x="1137.2522"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="645.79883"
- x="1137.2522"
- sodipodi:role="line"
- id="tspan14561">global search in </tspan><tspan
- y="663.79883"
- x="1137.2522"
- sodipodi:role="line"
- id="tspan14567">other similar sites</tspan></text>
- <rect
- rx="8"
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect18517"
- width="260.89908"
- height="244.05594"
- x="1384.1495"
- y="181.3568"
- ry="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="1383.7319"
- y="446.56119"
- id="text18529"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- sodipodi:role="line"
- x="1383.7319"
- y="446.56119"
- id="tspan18531">every content in system can be tagged</tspan></text>
- <flowRoot
- xml:space="preserve"
- id="flowRoot18561"
- transform="translate(1412.599,-1346.905)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><flowRegion
- id="flowRegion18563"><rect
- id="rect18565"
- width="229"
- height="211"
- x="-13"
- y="1545.189" /></flowRegion><flowPara
- id="flowPara18567"><flowSpan
- style="font-size:24px"
- id="flowSpan18591">activism</flowSpan> child_health <flowSpan
- style="font-size:18px"
- id="flowSpan18571">ecology</flowSpan> education ethnicity <flowSpan
- style="font-size:10px"
- id="flowSpan18595">folklore</flowSpan> internet <flowSpan
- style="font-size:16px"
- id="flowSpan18587">lgbt</flowSpan><flowSpan
- style="font-size:14px"
- id="flowSpan18597"> media</flowSpan><flowSpan
- style="font-size:18px"
- id="flowSpan18589"> medicine nonviolence</flowSpan><flowSpan
- style="font-size:14px"
- id="flowSpan18593"> nutrition</flowSpan><flowSpan
- style="font-size:24px"
- id="flowSpan18577"> pacifism</flowSpan> regional <flowSpan
- style="font-size:24px"
- id="flowSpan18579">social</flowSpan></flowPara><flowPara
- id="flowPara18569" /></flowRoot> <rect
- rx="8"
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11905"
- width="260.89908"
- height="244.05594"
- x="732.40112"
- y="180.45184"
- ry="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="5.0739045"
- style="color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11907"
- width="215.29562"
- height="20.295618"
- x="754.97772"
- y="195.33197"
- ry="5.0739045"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="764.96442"
- y="208.47394"
- id="text11909"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan11913"
- sodipodi:role="line"
- x="764.96442"
- y="208.47394">project/group A</tspan></text>
- <rect
- rx="5.0739045"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11925"
- width="215.29562"
- height="20.295618"
- x="754.47772"
- y="218.33197"
- ry="5.0739045"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="764.46442"
- y="231.47394"
- id="text11927"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan11929"
- sodipodi:role="line"
- x="764.46442"
- y="231.47394">project/group B</tspan></text>
- <rect
- rx="5.0739045"
- ry="5.0739045"
- y="260.33203"
- x="754.47772"
- height="20.295618"
- width="215.29562"
- id="rect11931"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text11933"
- y="273.474"
- x="764.46442"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="273.474"
- x="764.46442"
- sodipodi:role="line"
- id="tspan11935">project/group N</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text11937"
- y="250.50134"
- x="852.97839"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="250.50134"
- x="852.97839"
- sodipodi:role="line"
- id="tspan11941">. . . </tspan></text>
- <rect
- rx="5.0739045"
- style="opacity:0.66000001;color:black;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11949"
- width="215.29562"
- height="20.295618"
- x="-402.06177"
- y="876.25262"
- ry="5.0739045"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="-297.58728"
- inkscape:transform-center-y="-205.54626"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="-392.07507"
- y="889.39441"
- id="text11951"
- sodipodi:linespacing="100%"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan11953"
- sodipodi:role="line"
- x="-392.07507"
- y="889.39441">user A</tspan></text>
- <rect
- rx="5.0739045"
- style="opacity:0.66000001;color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11955"
- width="215.29562"
- height="20.295618"
- x="-402.56177"
- y="899.25262"
- ry="5.0739045"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="-297.58728"
- inkscape:transform-center-y="-205.54626"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="-392.57507"
- y="912.39441"
- id="text11957"
- sodipodi:linespacing="100%"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan11959"
- sodipodi:role="line"
- x="-392.57507"
- y="912.39441">user B</tspan></text>
- <rect
- rx="5.0739045"
- ry="5.0739045"
- y="941.25262"
- x="-402.56177"
- height="20.295618"
- width="215.29562"
- id="rect11961"
- style="opacity:0.66000001;color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.16017997;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text11963"
- y="954.39441"
- x="-392.57507"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="-205.54626"
- inkscape:transform-center-x="-297.58728"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="954.39441"
- x="-392.57507"
- sodipodi:role="line"
- id="tspan11965">user N</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text11967"
- y="931.42181"
- x="-304.06091"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="-205.54626"
- inkscape:transform-center-x="-297.58728"
- transform="matrix(0,-1,1,0,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="931.42181"
- x="-304.06091"
- sodipodi:role="line"
- id="tspan11969">. . . </tspan></text>
- <rect
- rx="6.3149629"
- style="opacity:0.66000001;color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e57601;stroke-width:1.44395876;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11973"
- width="267.95694"
- height="25.259851"
- x="269.04688"
- y="805.45087"
- ry="6.3149629"
- transform="matrix(0.707107,-0.707107,0.707107,0.707107,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- inkscape:transform-center-x="-31.703564"
- inkscape:transform-center-y="-324.54137"
- xml:space="preserve"
- style="font-size:14.00036716px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="277.0766"
- y="821.07513"
- id="text11975"
- sodipodi:linespacing="100%"
- transform="matrix(0.707107,-0.707107,0.707107,0.707107,0,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan11977"
- sodipodi:role="line"
- x="277.0766"
- y="821.07513">kune site oficial content</tspan></text>
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="732.96442"
- y="444.474"
- id="text11983"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- sodipodi:role="line"
- x="732.96442"
- y="444.474"
- id="tspan11995">users make publication proposals in projects/groups</tspan></text>
- <rect
- rx="8"
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect13553"
- width="260.89908"
- height="244.05594"
- x="1058.6755"
- y="180.27872"
- ry="8"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- id="g13543"
- transform="matrix(0,-1,1,0,-319.554,725.815)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- id="path13282"
- d="M 419.15269,1398.0101 L 420.40098,1403.9841 L 412.53224,1409.5123 L 418.57312,1410.1587 L 421.40408,1419.3649 L 423.87839,1413.8144 L 433.50812,1413.9705 L 429.00533,1409.8912 L 432.12608,1400.7742 L 426.8431,1403.8058 L 419.15269,1398.0101 z M 442.93724,1398.0101 L 444.18554,1403.9841 L 436.29451,1409.5123 L 442.35767,1410.1587 L 445.16634,1419.3649 L 447.66294,1413.8144 L 457.29268,1413.9705 L 452.76759,1409.8912 L 455.88834,1400.7742 L 450.62765,1403.8058 L 442.93724,1398.0101 z M 466.6995,1398.0101 L 467.9478,1403.9841 L 460.07906,1409.5123 L 466.11993,1410.1587 L 468.9509,1419.3649 L 471.4475,1413.8144 L 481.05494,1413.9705 L 476.55215,1409.8912 L 479.67289,1400.7742 L 474.38991,1403.8058 L 466.6995,1398.0101 z M 490.48405,1398.0101 L 491.73235,1403.9841 L 483.84132,1409.5123 L 489.90449,1410.1587 L 492.71316,1419.3649 L 495.20976,1413.8144 L 504.83949,1413.9705 L 500.3367,1409.8912 L 503.45745,1400.7742 L 498.17447,1403.8058 L 490.48405,1398.0101 z M 514.24632,1398.0101 L 515.49462,1403.9841 L 507.62587,1409.5123 L 513.66675,1410.1587 L 516.49771,1419.3649 L 518.99431,1413.8144 L 528.60175,1413.9705 L 524.09896,1409.8912 L 527.21971,1400.7742 L 521.95902,1403.8058 L 514.24632,1398.0101 z "
- style="opacity:0.66000001;color:black;fill:url(#linearGradient14834);fill-opacity:1;fill-rule:nonzero;stroke:black;stroke-width:1.03844011;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- id="path13530"
- d="M 324.05906,1398.0101 L 325.30735,1403.9841 L 317.41632,1409.5123 L 323.4572,1410.1587 L 326.28816,1419.3649 L 328.78476,1413.8144 L 338.41449,1413.9705 L 333.88941,1409.8912 L 337.01016,1400.7742 L 331.74947,1403.8058 L 324.05906,1398.0101 z M 347.82132,1398.0101 L 349.06962,1403.9841 L 341.20087,1409.5123 L 347.24175,1410.1587 L 350.07271,1419.3649 L 352.54702,1413.8144 L 362.17676,1413.9705 L 357.67396,1409.8912 L 360.79471,1400.7742 L 355.51173,1403.8058 L 347.82132,1398.0101 z M 371.60587,1398.0101 L 372.85417,1403.9841 L 364.96314,1409.5123 L 371.0263,1410.1587 L 373.83498,1419.3649 L 376.33157,1413.8144 L 385.96131,1413.9705 L 381.45852,1409.8912 L 384.57926,1400.7742 L 379.29628,1403.8058 L 371.60587,1398.0101 z M 395.36813,1398.0101 L 396.61643,1403.9841 L 388.74769,1409.5123 L 394.78857,1410.1587 L 397.61953,1419.3649 L 400.11613,1413.8144 L 409.72357,1413.9705 L 405.22078,1409.8912 L 408.34153,1400.7742 L 403.08084,1403.8058 L 395.36813,1398.0101 z "
- style="opacity:0.66000001;color:black;fill:url(#linearGradient14836);fill-opacity:1;fill-rule:nonzero;stroke:#500;stroke-width:1.03844011;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="1058.2578"
- y="444.19019"
- id="text13557"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- sodipodi:role="line"
- x="1058.2578"
- y="444.19019"
- id="tspan13565">users decide the relevancy of contents</tspan></text>
- <path
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.35315001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 1109.2398,324.36452 L 1146.0437,369.57316 L 1182.8336,324.36452 L 1166.6809,324.36452 L 1166.6809,284.98562 L 1182.8336,284.98562 L 1146.0437,239.76072 L 1109.2398,284.98562 L 1125.5331,284.98562 L 1125.5331,324.36452 L 1109.2398,324.36452 z "
- id="path4744"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text21514"
- y="769.62695"
- x="1380.5332"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:transform-center-y="58"
- inkscape:transform-center-x="31"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="769.62695"
- x="1380.5332"
- sodipodi:role="line"
- id="tspan21520">kune site minimal top toolbar by default</tspan></text>
- <rect
- style="color:black;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#1a1a1a;stroke-width:2.07187414;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect18846"
- width="260.82721"
- height="28"
- x="-1643.5378"
- y="506.64636"
- transform="scale(-1,1)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#1a1a1a;stroke-width:2;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect18803"
- width="260.89908"
- height="217.05603"
- x="1382.8823"
- y="532.01227"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- id="path3903"
- style="fill:#3c985b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1394.9168,567.79843 L 1403.7358,559.13574 L 1388.0683,552.38287 L 1391.3177,564.19528 L 1405.1219,554.2811 L 1393.0535,551.13137 L 1394.9168,567.79843 z " />
- <text
- sodipodi:linespacing="125%"
- xml:space="preserve"
- id="text4478"
- style="font-size:15.73393059px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#a3bfdd;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Bitstream Vera Sans"
- transform="scale(0.734068,1.362272)"
- y="414.78738"
- x="1917.4729"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan4480"
- y="414.78738"
- x="1917.4729">Foo Project</tspan><tspan
- id="tspan4482"
- y="434.45346"
- x="1917.4729" /></text>
- <rect
- style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:#e4a374;stroke-width:1.21117916pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect5194"
- width="64.908554"
- height="8.2937784"
- x="1572.7605"
- y="546.82928"
- rx="0.57424551"
- ry="0.23590763"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- style="font-size:3.8314054px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- id="text5198"
- font-size="11"
- x="1557.88"
- y="559.79926"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- transform="scale(1.010399,0.989708)">
- <tspan
- sodipodi:role="line"
- id="tspan7495"
- x="1557.88"
- y="559.79926"
- style="font-size:8px">Search</tspan>
- </text>
- <rect
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#ccc;stroke-width:2.07187462;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect19739"
- width="219.82726"
- height="17.000004"
- x="-1612.2058"
- y="509.64655"
- transform="scale(-1,1)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text18811"
- y="521.4895"
- x="1397.2739"
- style="font-size:15.46934032px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="521.4895"
- x="1397.2739"
- sodipodi:role="line"
- id="tspan18813">fooproject.somekunesite.org</tspan></text>
- <path
- sodipodi:type="arc"
- style="color:black;fill:blue;fill-opacity:1;fill-rule:nonzero;stroke:blue;stroke-width:2.07187414;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path19741"
- sodipodi:cx="-6.5"
- sodipodi:cy="773.68896"
- sodipodi:rx="5.5"
- sodipodi:ry="5.5"
- d="M -1 773.68896 A 5.5 5.5 0 1 1 -12,773.68896 A 5.5 5.5 0 1 1 -1 773.68896 z"
- transform="translate(1634.792,-255.5426)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:#afc7e1;fill-opacity:1;fill-rule:nonzero;stroke:#3c985b;stroke-width:2.02122617;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect21340"
- width="62.127625"
- height="121.63412"
- x="1573.7681"
- y="580.32928"
- ry="6.7268372"
- rx="9.7171488"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text21342"
- y="599.44934"
- x="1598.48"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="599.44934"
- x="1598.48"
- id="tspan21344"
- sodipodi:role="line">tools</tspan></text>
- <rect
- style="color:black;fill:#afc7e1;fill-opacity:1;fill-rule:nonzero;stroke:#3c985b;stroke-width:1.96949732;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect21355"
- width="169.17928"
- height="158.68581"
- x="1391.7422"
- y="574.30322"
- ry="6.589416"
- rx="8.0490246"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text21357"
- y="595.80176"
- x="1409.9233"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="595.80176"
- x="1409.9233"
- id="tspan21359"
- sodipodi:role="line">project/group</tspan><tspan
- y="613.80176"
- x="1409.9233"
- sodipodi:role="line"
- id="tspan21361">contents</tspan></text>
- <g
- id="g21459"
- transform="translate(1678.332,-156.5426)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- transform="matrix(1.43216,0,0,1.43216,125.1406,-301.4825)"
- id="g21448">
- <g
- id="g21363"
- transform="matrix(0.274183,0,0,0.274183,-174.528,693.1141)">
- <text
- sodipodi:linespacing="100%"
- id="text21365"
- y="17.718637"
- x="37.359535"
- style="font-size:21.88317108px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- xml:space="preserve"><tspan
- y="17.718637"
- x="37.359535"
- sodipodi:role="line"
- id="tspan21387">somekunesite.org</tspan></text>
- </g>
- <g
- id="g21375"
- transform="matrix(5.607737e-2,0,0,5.607737e-2,-175.8545,643.6858)">
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 60.321717,411.99998 L 437.33633,411.99998"
- id="path21377"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 252.61203,788.60332 L 252.61203,411.59154"
- id="path21379"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 252.86937,597.15755 L 629.88177,597.15755"
- id="path21381"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#c63;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 437.45588,596.97447 L 437.45588,219.95956"
- id="path21383"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 372.87905,411.27704 L 437.81346,411.27704"
- id="path21385"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- </g>
- </g>
- <text
- transform="scale(1.010399,0.989708)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/Desktop/sandbox/edit.png"
- x="-219.00302"
- y="705.70544"
- style="font-size:8.59295464px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:black;fill:#803300;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- id="text21421"
- xml:space="preserve"
- sodipodi:linespacing="125%"><tspan
- style="fill:#803300"
- y="705.70544"
- x="-219.00302"
- id="tspan21423"
- sodipodi:role="line">Login to collaborate</tspan></text>
- <text
- transform="scale(1.010399,0.989708)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/Desktop/sandbox/edit.png"
- sodipodi:linespacing="125%"
- y="705.70544"
- x="-287.43378"
- font-size="11"
- id="text21425"
- style="font-size:8.59295464px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:black;fill:#803300;fill-opacity:1;fill-rule:nonzero;stroke:none;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans">
- <tspan
- y="705.70544"
- x="-287.43378"
- id="tspan21427"
- sodipodi:role="line">New project</tspan>
- </text>
- </g>
- <g
- id="g21522"
- transform="matrix(0.519743,0,0,0.519743,1676.638,661.8445)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- transform="translate(-420.3467,-6.57331)"
- id="g21524">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -98.473389,103.17202 C -102.79913,103.17202 -106.46068,104.68144 -109.45707,107.70077 C -112.53301,110.82405 -114.06976,114.51976 -114.06976,118.7884 C -114.06976,123.05656 -112.53301,126.7269 -109.45707,129.79795 C -106.3826,132.8695 -102.72056,134.40479 -98.473389,134.40479 C -94.173515,134.40479 -90.446567,132.85633 -87.293034,129.75891 C -84.322505,126.81815 -82.836996,123.1605 -82.836996,118.7884 C -82.836996,114.41582 -84.348369,110.71961 -87.371116,107.70077 C -90.394838,104.68144 -94.095433,103.17202 -98.473389,103.17202 z M -98.43386,105.98248 C -94.889429,105.98248 -91.879859,107.23179 -89.403686,109.7309 C -86.902136,112.20317 -85.65185,115.22201 -85.65185,118.7884 C -85.65185,122.37968 -86.876272,125.36046 -89.326092,127.72878 C -91.906211,130.27962 -94.942134,131.5548 -98.43386,131.5548 C -101.92607,131.5548 -104.93613,130.29231 -107.46355,127.76782 C -109.99096,125.24334 -111.2554,122.24987 -111.2554,118.7884 C -111.2554,115.32645 -109.97827,112.3076 -107.4245,109.7309 C -104.97468,107.2313 -101.97829,105.98248 -98.43386,105.98248 z "
- id="path21526"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -106.6349,123.08779 L -102.71714,123.08779 C -100.52841,123.08779 -99.198087,122.4114 -99.198087,120.63602 C -99.198087,119.36767 -100.14141,118.7518 -101.31411,118.66738 L -101.31411,118.64298 C -100.14093,118.3775 -99.512366,117.79774 -99.512366,116.69874 C -99.512366,115.0922 -100.68506,114.48853 -102.42677,114.48853 L -106.6349,114.48853 L -106.6349,123.08779 L -106.6349,123.08779 z M -104.55499,119.4643 L -102.41457,119.4643 C -101.61667,119.4643 -101.35022,119.77858 -101.35022,120.49108 C -101.35022,121.04692 -101.66499,121.49345 -102.80157,121.49345 L -104.55499,121.49345 L -104.55499,119.4643 z M -104.57939,116.08287 L -102.78985,116.08287 C -102.07638,116.08287 -101.66548,116.25221 -101.66548,116.9769 C -101.66548,117.60497 -102.10078,117.87094 -102.78985,117.87094 L -104.57939,117.87094 L -104.57939,116.08287 z "
- id="path21528"
- style="fill-rule:evenodd" />
- <polygon
- transform="matrix(0.488012,0,0,0.488012,-114.0698,16.89784)"
- i:knockout="Off"
- clip-rule="evenodd"
- points="36.052,217.597 40.462,217.597 40.462,209.38 47.153,199.976 41.999,199.976 38.257,206.064 34.515,199.976 29.361,199.976 36.052,209.38 36.052,217.597 "
- id="polygon21530"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -90.271859,118.7884 L -90.271859,116.75925 L -92.231227,116.75925 L -92.231227,118.7884 L -90.271859,118.7884 z M -90.271859,123.08779 L -90.271859,121.05864 L -92.231227,121.05864 L -92.231227,123.08779 L -90.271859,123.08779 z "
- id="path21532"
- style="fill-rule:evenodd" />
- </g>
- <g
- transform="translate(-409.3689,-55.4533)"
- id="g21534">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -75.940045,152.05204 C -80.265783,152.05204 -83.927337,153.56146 -86.923731,156.58031 C -89.999671,159.70358 -91.53642,163.40027 -91.53642,167.66843 C -91.53642,171.93658 -89.999671,175.60741 -86.923731,178.67847 C -83.849255,181.75001 -80.187213,183.28481 -75.940045,183.28481 C -71.640171,183.28481 -67.913224,181.73635 -64.75969,178.63894 C -61.789161,175.69818 -60.303652,172.04053 -60.303652,167.66843 C -60.303652,163.29633 -61.815026,159.60012 -64.837772,156.58031 C -67.861494,153.56098 -71.562089,152.05204 -75.940045,152.05204 z M -75.900516,154.86202 C -72.356085,154.86202 -69.346515,156.11181 -66.870342,158.61092 C -64.368792,161.08271 -63.118506,164.10252 -63.118506,167.66843 C -63.118506,171.25971 -64.342928,174.24048 -66.792748,176.6093 C -69.372867,179.16013 -72.40879,180.43482 -75.900516,180.43482 C -79.39273,180.43482 -82.4023,179.17233 -84.930202,176.64785 C -87.458104,174.12287 -88.722055,171.1299 -88.722055,167.66843 C -88.722055,164.20696 -87.444928,161.18763 -84.891161,158.61092 C -82.441341,156.11181 -79.444947,154.86202 -75.900516,154.86202 z "
- id="path21536"
- style="fill-rule:evenodd" />
- <path
- i:knockout="Off"
- d="M -82.862007,165.46408 C -82.238816,161.53509 -79.473252,159.43469 -76.006903,159.43469 C -71.021372,159.43469 -67.983009,163.05281 -67.983009,167.87632 C -67.983009,172.58368 -71.216089,176.24036 -76.084984,176.24036 C -79.434699,176.24036 -82.433533,174.17851 -82.97913,170.13289 L -79.044777,170.13289 C -78.928142,172.23378 -77.564637,172.97263 -75.617469,172.97263 C -73.397502,172.97263 -71.955915,170.91029 -71.955915,167.7592 C -71.955915,164.45292 -73.202786,162.70242 -75.539875,162.70242 C -77.253285,162.70242 -78.733426,163.32463 -79.045265,165.46408 L -77.901853,165.45773 L -80.998289,168.55417 L -84.094725,165.45773 L -82.862007,165.46408 z "
- id="path21538" />
- </g>
- <g
- style="fill:#e6e6e6"
- transform="translate(-386.6044,-99.48)"
- id="g21540">
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -65.193373,196.07849 C -69.519111,196.07849 -73.180666,197.5884 -76.177059,200.60724 C -79.252999,203.731 -80.789749,207.42672 -80.789749,211.69536 C -80.789749,215.96351 -79.252999,219.63434 -76.177059,222.70491 C -73.102584,225.77646 -69.440542,227.31174 -65.193373,227.31174 C -60.893499,227.31174 -57.166552,225.76328 -54.013018,222.66587 C -51.042489,219.7256 -49.556981,216.06746 -49.556981,211.69536 C -49.556981,207.32228 -51.068354,203.62657 -54.0911,200.60724 C -57.114822,197.5884 -60.815417,196.07849 -65.193373,196.07849 z M -65.153844,198.88944 C -61.609413,198.88944 -58.599843,200.13923 -56.12367,202.63786 C -53.622121,205.11012 -52.371834,208.12946 -52.371834,211.69585 C -52.371834,215.28713 -53.596256,218.2679 -56.046076,220.63623 C -58.626196,223.18707 -61.662118,224.46175 -65.153844,224.46175 C -68.646058,224.46175 -71.656116,223.19927 -74.18353,220.67478 C -76.711432,218.14981 -77.975383,215.15683 -77.975383,211.69585 C -77.975383,208.2334 -76.698256,205.21505 -74.144489,202.63786 C -71.694669,200.13923 -68.698275,198.88944 -65.153844,198.88944 z "
- id="path21542"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- <path
- i:knockout="Off"
- clip-rule="evenodd"
- d="M -59.2733,207.99476 L -70.624459,207.99476 L -70.624459,210.68322 L -59.2733,210.68322 L -59.2733,207.99476 z M -59.2733,213.01348 L -70.624459,213.01348 L -70.624459,215.70243 L -59.2733,215.70243 L -59.2733,213.01348 z "
- id="path21544"
- style="fill:#e6e6e6;fill-rule:evenodd" />
- </g>
- <path
- style="fill:#e6e6e6"
- id="path21546"
- d="M -418.28669,96.59871 C -413.90873,96.59871 -410.20814,98.10862 -407.18441,101.12697 C -404.16167,104.14679 -402.65029,107.84251 -402.65029,112.21509 C -402.65029,116.58768 -404.1358,120.24484 -407.10633,123.1856 C -410.25986,126.28302 -413.98681,127.83148 -418.28669,127.83148 C -422.53434,127.83148 -426.1959,126.29619 -429.27037,123.22513 C -432.34631,120.15407 -433.88306,116.48325 -433.88306,112.21509 C -433.88306,107.94694 -432.34631,104.25074 -429.27037,101.12697 C -426.27398,98.10862 -422.61243,96.59871 -418.28669,96.59871 z M -430.36986,108.02014 C -430.83591,109.33778 -431.06919,110.73593 -431.06919,112.21509 C -431.06919,115.67705 -429.80523,118.67003 -427.27733,121.19403 C -424.74943,123.719 -421.73986,124.98149 -418.24765,124.98149 C -414.75592,124.98149 -411.72,123.7068 -409.13988,121.15547 C -408.2761,120.32049 -407.56457,119.41034 -407.00629,118.42309 L -412.89318,115.80149 C -413.29188,117.78233 -415.05751,119.12046 -417.19159,119.2776 L -417.19159,121.68497 L -418.98406,121.68497 L -418.98406,119.2776 C -420.73699,119.2576 -422.42991,118.54119 -423.7246,117.40754 L -421.57345,115.23882 C -420.5374,116.21386 -419.50184,116.6521 -418.08758,116.6521 C -417.17158,116.6521 -416.15554,116.2939 -416.15554,115.09973 C -416.15554,114.67663 -416.32,114.38236 -416.57767,114.16129 L -418.0661,113.49857 L -420.09965,112.85195 C -421.10154,112.5284 -421.87113,112.13164 -422.3938,111.57238 L -430.36986,108.02014 z M -418.24716,99.40917 C -421.79159,99.40917 -424.78798,100.65897 -427.2378,103.15759 C -427.90443,103.83105 -428.48467,104.5333 -428.97708,105.26678 L -423.00723,107.92449 C -422.46846,106.26818 -420.89414,105.26483 -418.98357,105.1521 L -418.98357,102.74473 L -417.1911,102.74473 L -417.1911,105.1521 C -415.95594,105.21163 -414.60122,105.54983 -413.267,106.5849 L -415.3186,108.6936 C -416.0755,108.1563 -417.03152,107.77809 -417.98802,107.77809 C -418.76445,107.77809 -419.86004,108.01721 -419.86004,108.99177 C -419.86004,109.14062 -419.81026,109.27141 -419.71949,109.38804 L -417.72254,110.27671 L -416.23411,110.74227 C -415.27565,111.03313 -414.45823,111.40841 -413.86335,111.995 L -405.8619,115.55798 C -405.59691,114.50973 -405.46515,113.39462 -405.46515,112.21412 C -405.46515,108.64773 -406.71543,105.62937 -409.21698,103.15613 C -411.69365,100.65848 -414.70322,99.40917 -418.24716,99.40917 z "
- i:knockout="Off" />
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text6619"
- y="1267.561"
- x="1394.6381"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- x="1394.6381"
- y="1267.561"
- id="tspan2929">other characteristics:</tspan><tspan
- sodipodi:role="line"
- id="tspan6957"
- x="1394.6381"
- y="1285.561">- usable, usable, usable</tspan><tspan
- sodipodi:role="line"
- id="tspan6959"
- x="1394.6381"
- y="1303.561">- contents open to world (only use private spaces when needed)</tspan><tspan
- sodipodi:role="line"
- id="tspan6961"
- x="1394.6381"
- y="1321.561">- multilingual by default</tspan><tspan
- sodipodi:role="line"
- id="tspan6963"
- x="1394.6381"
- y="1339.561">- meritocracy (what and who do things)</tspan><tspan
- sodipodi:role="line"
- id="tspan6965"
- x="1394.6381"
- y="1357.561">- based on Free Software and Standards</tspan><tspan
- sodipodi:role="line"
- id="tspan6967"
- x="1394.6381"
- y="1375.561">- innecessary spatial/temporal/mental sincronization (like any presencial activity)</tspan><tspan
- sodipodi:role="line"
- id="tspan6969"
- x="1394.6381"
- y="1393.561">- recomendations system (some user/project/group are working in something similar)</tspan><tspan
- sodipodi:role="line"
- x="1394.6381"
- y="1411.561"
- id="tspan2933">- kune means «together, joinly» in Esperanto</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed;text-indent:0;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;opacity:1;color:black;fill-rule:nonzero;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible"
- x="416.94827"
- y="163.92476"
- id="text3057"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan3059"
- sodipodi:role="line"
- x="416.94827"
- y="163.92476">kune tools</tspan></text>
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.03333509;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.0333351, 3.10000527;stroke-dashoffset:0;stroke-opacity:1"
- d="M 305.28312,285.28343 C 460.20337,187.77971 459.42388,187.2941 459.42388,187.2941"
- id="path3061"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text3081"
- y="487.92474"
- x="94.948242"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="487.92474"
- x="94.948242"
- sodipodi:role="line"
- id="tspan3083">kune user roles</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- x="744.94818"
- y="487.92474"
- id="text3085"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan3087"
- sodipodi:role="line"
- x="744.94818"
- y="487.92474">kune site content licenses</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text3089"
- y="487.92474"
- x="1072.9482"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="487.92474"
- x="1072.9482"
- sodipodi:role="line"
- id="tspan3091">kune site search system</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- x="1398.9482"
- y="163.92476"
- id="text3226"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan3228"
- sodipodi:role="line"
- x="1398.9482"
- y="163.92476">tags / keywords system</tspan></text>
- <g
- id="g5912"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path3232"
- style="fill:white;fill-opacity:1;stroke:green;stroke-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text3234"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan3236">1</tspan></text>
- </g>
- <g
- id="g5917"
- transform="translate(326.3536,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path5919"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text5921"
- sodipodi:linespacing="100%"><tspan
- id="tspan5923"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">3</tspan></text>
- </g>
- <g
- transform="translate(3.0608,324)"
- id="g5933"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path5935"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text5937"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan5939">2</tspan></text>
- </g>
- <g
- id="g5941"
- transform="translate(654.0608,324)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path5943"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text5945"
- sodipodi:linespacing="100%"><tspan
- id="tspan5947"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">5</tspan></text>
- </g>
- <g
- transform="translate(980.061,324)"
- id="g5949"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path5951"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text5953"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan5955">4</tspan></text>
- </g>
- <g
- id="g5957"
- transform="translate(980.061,324)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path5959"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text5961"
- sodipodi:linespacing="100%"><tspan
- id="tspan5963"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">7</tspan></text>
- </g>
- <g
- transform="translate(1305.561,0)"
- id="g5965"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path5967"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text5969"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan5971">8</tspan></text>
- </g>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="1698.5"
- y="169.18896"
- id="text5973"><tspan
- sodipodi:role="line"
- id="tspan5975"
- x="1698.5"
- y="169.18896"> </tspan></text>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="1710"
- y="168.68896"
- id="text5977"><tspan
- sodipodi:role="line"
- id="tspan5979"
- x="1710"
- y="168.68896"> </tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text6093"
- y="162.92474"
- x="744.94818"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="162.92474"
- x="744.94818"
- sodipodi:role="line"
- id="tspan6095">kune site content</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- x="1072.9482"
- y="162.92474"
- id="text6097"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan6099"
- sodipodi:role="line"
- x="1072.9482"
- y="162.92474">kune site content relevancy</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text6101"
- y="488.92474"
- x="1396.9482"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="488.92474"
- x="1396.9482"
- sodipodi:role="line"
- id="tspan6103">per project style/image</tspan></text>
- <g
- transform="translate(654.0608,-1)"
- id="g6105"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path6107"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text6109"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan6111">4</tspan></text>
- </g>
- <g
- id="g6113"
- transform="translate(980.061,-1)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path6115"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text6117"
- sodipodi:linespacing="100%"><tspan
- id="tspan6119"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">4</tspan></text>
- </g>
- <g
- transform="translate(980.061,-1)"
- id="g6121"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part2-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path6123"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text6125"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan6127">6</tspan></text>
- </g>
- <g
- id="g6129"
- transform="translate(1303.561,325)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path6131"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text6133"
- sodipodi:linespacing="100%"><tspan
- id="tspan6135"
- sodipodi:role="line"
- x="72.786026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">9 </tspan></text>
- </g>
- <rect
- rx="8"
- ry="8"
- y="181.20319"
- x="1708.3624"
- height="244.05594"
- width="260.89908"
- id="rect6233"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:1.99999976;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187223;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187182, 4.14374365;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6257"
- width="65.943573"
- height="149.97063"
- x="1782.1588"
- y="188.35193"
- ry="8.587678"
- rx="18.986042"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- style="color:black;fill:#ffba7f;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187247;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187217, 4.14374438;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6261"
- width="66.827263"
- height="92.729691"
- x="1890.2756"
- y="325.5929"
- ry="5.3099246"
- rx="8.5876703"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- x="1722.9482"
- y="163.92474"
- id="text6269"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan6271"
- sodipodi:role="line"
- x="1722.9482"
- y="163.92474">kune social network</tspan></text>
- <g
- id="g6273"
- transform="translate(1630.061,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path6275"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text6277"
- sodipodi:linespacing="100%"><tspan
- id="tspan6279"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">4</tspan></text>
- </g>
- <g
- transform="translate(1630.061,0)"
- id="g6281"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path6283"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text6285"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan6287">10</tspan></text>
- </g>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="521.94971"
- y="574.03973"
- id="text2402"><tspan
- sodipodi:role="line"
- id="tspan2404"
- x="521.94971"
- y="574.03973"> </tspan></text>
- <path
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.35315001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 431.95025,570.1278 L 419.64485,585.25601 L 425.09184,585.25601 L 425.09184,596.85048 L 438.86093,596.85048 L 438.86093,585.25601 L 444.2661,585.25601 L 431.95025,570.1278 z "
- id="path2408"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.35315001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 360.06776,725.66288 L 375.19597,737.96828 L 375.19597,732.52129 L 386.79044,732.52129 L 386.79044,718.7522 L 375.19597,718.7522 L 375.19597,713.34703 L 360.06776,725.66288 z "
- id="path2415"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part1-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <rect
- rx="8.5876808"
- ry="8.587678"
- y="268.35193"
- x="1716.2759"
- height="149.97063"
- width="96.827301"
- id="rect6255"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#dc5f01;stroke-width:2.07187343;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:2.07187325, 4.14374652;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.66"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- transform="matrix(0.161797,0,0,0.161927,1805.318,133.8896)"
- style="opacity:1;fill:#dc5f01;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g1354"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path1355" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path1356" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1755.359,205.2219)"
- style="opacity:1;fill:#dc5f01;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g1357"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path1358" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path1359" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1782.696,109.6944)"
- style="opacity:1;fill:black;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2791"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2793" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2795" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1707.524,214.4172)"
- style="opacity:1;fill:black;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2797"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2799" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2801" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1926.479,119.2345)"
- style="opacity:1;fill:#a02c2c;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2803"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2805" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2807" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1689.806,273.7024)"
- style="opacity:1;fill:#a02c2c;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2809"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2811" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2813" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1901.947,176.4754)"
- style="opacity:1;fill:#f4e3d7;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2827"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2829" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2831" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1862.891,140.1402)"
- style="opacity:1;fill:#f4e3d7;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2833"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2835" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2837" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1851.588,103.2247)"
- style="opacity:1;fill:#dc5f01;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2839"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2841" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2843" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1803.673,280.8616)"
- style="opacity:1;fill:#dc5f01;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2845"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2847" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#dc5f01;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2849" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1726.068,121.2788)"
- style="opacity:1;fill:black;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2851"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2853" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2855" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1744.253,282.5611)"
- style="opacity:1;fill:black;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2857"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2859" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2861" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1920.96,293.683)"
- style="opacity:1;fill:#a02c2c;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2863"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2865" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2867" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1786.502,177.6193)"
- style="opacity:1;fill:#a02c2c;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2869"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2871" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#a02c2c;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2873" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1884.161,294.3644)"
- style="opacity:1;fill:#f4e3d7;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2875"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 327.88151,522.25439 C 327.88151,552.61577 302.38972,577.22854 270.944,577.22854 C 239.49828,577.22854 214.00649,552.61577 214.00649,522.25439 C 214.00649,491.89301 239.49828,467.28024 270.944,467.28024 C 302.38972,467.28024 327.88151,491.89301 327.88151,522.25439 z "
- transform="matrix(0.364535,0,0,0.364535,27.23341,384.6839)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2877" />
- <path
- d="M 85.240835,597.3436 C 63.698979,597.3436 46.365835,613.43959 46.365835,633.4061 C 46.365835,653.37263 63.698979,669.43735 85.240835,669.43735 L 113.92833,669.43735 L 113.92833,873.93735 C 113.92833,895.47921 129.99305,912.81235 149.95958,912.81235 C 169.92611,912.81235 186.02208,895.47921 186.02208,873.93735 L 186.02208,800.31235 C 186.224,800.31465 186.41315,800.3436 186.61583,800.3436 L 222.45958,800.3436 L 222.45958,873.93735 C 222.45958,895.47921 238.55555,912.81235 258.52208,912.81235 C 278.48861,912.81235 294.55333,895.47921 294.55333,873.93735 L 294.55333,669.43735 L 320.80333,669.43735 C 342.34519,669.43735 359.67833,653.37264 359.67833,633.4061 C 359.67833,613.43957 342.34519,597.3436 320.80333,597.3436 L 85.240835,597.3436 z "
- transform="matrix(0.364535,0,0,0.364535,51.94992,382.4906)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.31097937;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2879" />
- </g>
- <g
- transform="matrix(0.161797,0,0,0.161927,1885.31,242.3561)"
- style="opacity:1;fill:#f4e3d7;fill-opacity:1;stroke:#e4a374;stroke-width:0.60895616;stroke-opacity:1"
- id="g2881"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- d="M 681.25335,574.16252 C 659.71149,574.16252 642.37835,590.25848 642.37835,610.22502 C 642.37835,630.19155 659.71149,646.25627 681.25335,646.25627 L 725.3471,646.25627 L 689.1596,842.25627 C 685.24572,863.43958 697.9004,883.40989 717.5346,887.03752 C 737.16881,890.66518 756.1207,876.53336 760.0346,855.35002 L 767.75335,813.56877 L 832.31585,813.56877 L 840.4096,857.38127 C 844.32347,878.56454 863.27542,892.69642 882.9096,889.06877 C 902.54379,885.44113 915.19847,865.47081 911.2846,844.28752 L 874.69085,646.25627 L 916.81585,646.25627 C 938.35771,646.25627 955.7221,630.19153 955.7221,610.22502 C 955.7221,590.25849 938.35771,574.16252 916.81585,574.16252 L 681.25335,574.16252 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.32402658;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2883" />
- <path
- d="M 792.28582,559.08079 C 756.11798,549.44818 735.09215,497.62564 762.54037,468.97653 C 783.47477,451.04774 815.75207,452.61392 839.25652,464.18602 C 862.72302,478.12183 859.05065,517.78099 830.70368,522.7966 C 813.94928,528.88486 793.21283,538.52231 792.28582,559.08079 z "
- transform="matrix(0.364535,0,0,0.364535,-37.45429,388.0784)"
- style="color:black;fill:#f4e3d7;fill-opacity:1;fill-rule:nonzero;stroke:#e4a374;stroke-width:3.72985649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path2885" />
- </g>
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1745.8492,372.67175 L 1773.1068,386.98199"
- id="path2889"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1751.9821,334.51111 L 1777.8769,367.90167"
- id="path2891"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1799.0015,387.66343 L 1833.0735,387.66343"
- id="path2893"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1761.5223,309.29783 L 1785.3727,309.29783"
- id="path2895"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1818.0819,247.96824 L 1800.3643,291.58039 C 1818.7632,283.40312 1817.4004,284.766 1817.4004,284.766"
- id="path2897"
- sodipodi:nodetypes="ccc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1751.9826,240.47251 L 1787.4174,294.30629"
- id="path2899"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1837.1621,237.0652 L 1864.4197,210.48904"
- id="path2903"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1918.2535,360.40583 L 1907.3504,382.89335"
- id="path2905"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1927.1122,358.36151 L 1937.3338,377.44183"
- id="path2907"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1915.5277,399.24791 L 1931.8823,398.56647"
- id="path2909"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1837.1621,288.1732 L 1916.2092,347.45847"
- id="path2911"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1930.5194,329.05959 L 1922.3421,295.66904"
- id="path2913"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1931.2008,263.64136 L 1944.1482,240.4724"
- id="path2915"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1905.3061,255.46408 L 1915.5277,269.77432"
- id="path2917"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1878.0485,221.39208 L 1892.3588,234.33944"
- id="path2919"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1734.9461,361.76871 L 1743.1235,335.19255"
- id="path2921"
- sodipodi:nodetypes="cc"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1811.9489,218.66632 L 1816.7189,225.48072"
- id="path2923"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1758.1151,225.48072 L 1792.8685,216.622"
- id="path2925"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1854.1981,386.98199 L 1895.0845,398.56647"
- id="path2927"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- id="g6605"
- transform="translate(5.634172e-2,0)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- id="path3037"
- d="M 1729.4841,717.3542 L 1723.0017,723.49566 L 1742.449,723.49566 L 1735.9666,717.3542 L 1729.4841,717.3542 z "
- style="fill:maroon;fill-opacity:1;fill-rule:evenodd;stroke:maroon;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3039"
- d="M 1742.449,723.49476 L 1768.3788,723.49476 L 1761.8963,717.3533 L 1748.9315,717.3533 L 1742.449,723.49476 z "
- style="fill:navy;fill-opacity:1;fill-rule:evenodd;stroke:navy;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3041"
- d="M 1768.3788,723.49476 L 1781.3437,723.49476 L 1774.8612,717.3533 L 1768.3788,723.49476 z "
- style="fill:olive;fill-opacity:1;fill-rule:evenodd;stroke:olive;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3043"
- d="M 1781.3437,723.49476 L 1794.3086,723.49476 L 1787.8262,717.3533 L 1781.3437,723.49476 z "
- style="fill:#a00;fill-opacity:1;fill-rule:evenodd;stroke:#a00;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3045"
- d="M 1794.3086,723.49476 L 1816.9972,723.49476 L 1810.5147,717.3533 L 1800.7911,717.3533 L 1794.3086,723.49476 z "
- style="fill:#de8787;fill-opacity:1;fill-rule:evenodd;stroke:#de8787;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3047"
- d="M 1816.9972,723.49476 L 1829.9621,723.49476 L 1823.4796,717.3533 L 1816.9972,723.49476 z "
- style="fill:green;fill-opacity:1;fill-rule:evenodd;stroke:green;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3049"
- d="M 1829.9621,723.49476 L 1865.6156,723.49476 L 1859.1331,717.3533 L 1836.4446,717.3533 L 1829.9621,723.49476 z "
- style="fill:#f60;fill-opacity:1;fill-rule:evenodd;stroke:#f60;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3051"
- d="M 1865.6156,723.49476 L 1885.0629,723.49476 L 1878.5805,717.3533 L 1872.098,717.3533 L 1865.6156,723.49476 z "
- style="fill:#d4aa00;fill-opacity:1;fill-rule:evenodd;stroke:#d4aa00;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3053"
- d="M 1885.0629,723.49476 L 1898.0278,723.49476 L 1891.5454,717.3533 L 1885.0629,723.49476 z "
- style="fill:#fd5;fill-opacity:1;fill-rule:evenodd;stroke:#fd5;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3055"
- d="M 1898.0278,723.49476 L 1910.9927,723.49476 L 1904.5102,717.3533 L 1898.0278,723.49476 z "
- style="fill:#c87137;fill-opacity:1;fill-rule:evenodd;stroke:#c87137;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3057"
- d="M 1910.9927,723.49476 L 1923.9576,723.49476 L 1917.4752,717.3533 L 1910.9927,723.49476 z "
- style="fill:#520;fill-opacity:1;fill-rule:evenodd;stroke:#2b1100;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path3059"
- d="M 1923.9576,723.49476 L 1956.3699,723.49476 L 1949.8875,717.3533 L 1930.4401,717.3533 L 1923.9576,723.49476 z "
- style="fill:#2b0000;fill-opacity:1;fill-rule:evenodd;stroke:#2b0000;stroke-width:0.99999982px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- </g>
- <path
- sodipodi:type="star"
- style="opacity:1;color:black;fill:#ac9393;fill-opacity:1;fill-rule:nonzero;stroke:#ac9393;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path6601"
- sodipodi:sides="3"
- sodipodi:cx="1782.0549"
- sodipodi:cy="685.80377"
- sodipodi:r1="92.275558"
- sodipodi:r2="46.137779"
- sodipodi:arg1="-1.5707963"
- sodipodi:arg2="-0.52359878"
- inkscape:flatsided="false"
- inkscape:rounded="0"
- inkscape:randomized="0"
- d="M 1782.0549,593.52821 L 1822.0114,662.73488 L 1861.9679,731.94155 L 1782.0549,731.94155 L 1702.142,731.94155 L 1742.0984,662.73488 L 1782.0549,593.52821 z "
- transform="translate(57.68721,-65.93116)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <text
- sodipodi:linespacing="100%"
- id="text6624"
- y="489.92474"
- x="1722.9482"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:black;fill:green;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1pt;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:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="489.92474"
- x="1722.9482"
- sodipodi:role="line"
- id="tspan6626">vertical vs. almost horizontal hierarchy</tspan></text>
- <g
- transform="translate(1630.061,326)"
- id="g6628"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="translate(296.891,-395.4005)"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- sodipodi:ry="11.5"
- sodipodi:rx="11.5"
- sodipodi:cy="554.68896"
- sodipodi:cx="-226.5"
- id="path6630"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <text
- sodipodi:linespacing="100%"
- id="text6632"
- y="165.40128"
- x="70.536026"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed"
- y="165.40128"
- x="70.536026"
- sodipodi:role="line"
- id="tspan6634">4</tspan></text>
- </g>
- <g
- id="g6636"
- transform="translate(1630.061,326)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- sodipodi:type="arc"
- style="fill:white;fill-opacity:1;stroke:green;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path6638"
- sodipodi:cx="-226.5"
- sodipodi:cy="554.68896"
- sodipodi:rx="11.5"
- sodipodi:ry="11.5"
- d="M -215 554.68896 A 11.5 11.5 0 1 1 -238,554.68896 A 11.5 11.5 0 1 1 -215 554.68896 z"
- transform="translate(296.891,-395.4005)" />
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:green;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="70.536026"
- y="165.40128"
- id="text6640"
- sodipodi:linespacing="100%"><tspan
- id="tspan6642"
- sodipodi:role="line"
- x="70.536026"
- y="165.40128"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:green;fill-opacity:1;font-family:HoratioDMed">11</tspan></text>
- </g>
- <text
- inkscape:transform-center-x="31"
- inkscape:transform-center-y="58"
- xml:space="preserve"
- style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="1706.5332"
- y="769.62695"
- id="text6646"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan6648"
- sodipodi:role="line"
- x="1706.5332"
- y="769.62695">every project/group have one or more coordinators</tspan><tspan
- sodipodi:role="line"
- x="1706.5332"
- y="783.62695"
- id="tspan6682">(who starts a projects coordinate the project)</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text6654"
- y="610.85645"
- x="1840.2695"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="610.85645"
- x="1840.2695"
- id="tspan6656"
- sodipodi:role="line">traditional</tspan><tspan
- y="628.85645"
- x="1840.2695"
- sodipodi:role="line"
- id="tspan6660">vertical</tspan><tspan
- y="646.85645"
- x="1840.2695"
- sodipodi:role="line"
- id="tspan6658">hierarchy</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#a40;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- x="1839.8257"
- y="708.85645"
- id="text6666"
- sodipodi:linespacing="100%"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- id="tspan6672"
- sodipodi:role="line"
- x="1839.8257"
- y="708.85645">projects/groups organization</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text6678"
- y="688.85645"
- x="1839.9751"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/img/kune-diagram-part3-0.1.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- y="688.85645"
- x="1839.9751"
- sodipodi:role="line"
- id="tspan6680">vs</tspan></text>
- <g
- id="g6008"
- transform="matrix(0.464906,0,0,0.464906,37.10585,-376.0301)">
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 60.321717,411.99998 L 437.33633,411.99998"
- id="path6010"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 252.61203,788.60332 L 252.61203,411.59154"
- id="path6012"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 252.86937,597.15755 L 629.88177,597.15755"
- id="path6014"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#c63;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 437.45588,596.97447 L 437.45588,219.95956"
- id="path6016"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- <path
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 372.87905,411.27704 L 437.81346,411.27704"
- id="path6018"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
- </g>
- <g
- id="g7182"
- transform="matrix(1.216264,0,0,1.216264,259.4187,-202.8618)">
- <g
- transform="translate(-2.385332,4.770664)"
- id="g7173">
- <g
- transform="matrix(0.3688,0,0,0.3688,-188.5,-224.5906)"
- id="g4720">
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path4722"
- d="M 60.321717,411.99998 L 437.33633,411.99998"
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path4724"
- d="M 252.61203,788.60332 L 252.61203,411.59154"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path4726"
- d="M 252.86937,597.15755 L 629.88177,597.15755"
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path4728"
- d="M 437.45588,596.97447 L 437.45588,219.95956"
- style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#c63;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path4730"
- d="M 372.87905,411.27704 L 437.81346,411.27704"
- style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- </g>
- <path
- style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- d="M -20.704789,96.645148 C -21.064409,96.645148 -21.410059,96.646418 -21.756929,96.669068 C -21.789299,96.675658 -21.819999,96.686888 -21.852569,96.692978 C -22.175449,96.753278 -22.494019,96.804708 -22.832959,96.812528 C -22.879919,96.819118 -22.929739,96.805498 -22.976439,96.812528 C -25.742889,97.229028 -28.080269,98.430228 -29.958749,100.42326 C -32.152499,102.7401 -33.258609,105.5156 -33.258619,108.74465 C -33.258619,112.00992 -32.152489,114.80428 -29.958749,117.11386 C -27.584029,119.60444 -24.498599,120.84413 -20.704789,120.84414 C -18.692069,120.84413 -16.757069,120.34405 -14.918079,119.33768 C -13.079129,118.36028 -11.480159,116.97691 -10.111759,115.22482 L -14.248549,112.92926 C -16.029619,115.30399 -18.217939,116.49215 -20.824349,116.49215 C -22.634379,116.49215 -24.257269,115.90499 -25.654579,114.74657 C -27.073649,113.58816 -27.782769,112.17717 -27.782749,110.49023 L -8.8683294,110.49023 L -8.8683294,109.53374 C -8.8683594,105.44312 -10.253919,102.16753 -13.005109,99.705888 C -15.321959,97.656978 -17.888419,96.645188 -20.704789,96.645148 z M -108.65329,96.812528 L -108.65329,105.97085 L -111.8575,105.97085 L -111.8575,110.65761 L -108.65329,110.65761 L -108.65329,120.22243 L -103.77523,120.22243 L -103.77523,110.65761 L -100.83405,110.65761 L -94.832129,120.22243 L -89.045409,120.22243 L -97.103769,108.07511 L -89.404089,97.266868 L -95.310369,97.266868 L -101.26446,105.97085 L -103.77523,105.97085 L -103.77523,96.812528 L -108.65329,96.812528 z M -48.801449,96.812528 C -49.641169,96.962408 -50.423599,97.206338 -51.144829,97.577718 C -52.361159,98.229348 -53.321429,99.088718 -54.038179,100.16022 L -54.038179,97.266868 L -58.940149,97.266868 L -58.940149,120.22243 L -54.038179,120.22243 L -54.038179,107.35775 C -54.038189,105.51879 -53.519239,104.10779 -52.483889,103.1014 C -51.441339,102.09506 -50.119629,101.59496 -48.490589,101.59495 C -46.767469,101.59496 -45.421849,102.05733 -44.473369,103.00576 C -43.524939,103.95422 -43.062589,105.44067 -43.062559,107.4534 L -43.062559,120.22243 L -38.160589,120.22243 L -38.160589,106.37736 C -38.160609,103.56098 -39.019979,101.23403 -40.743089,99.395038 C -42.035449,98.015828 -43.530809,97.157348 -45.238549,96.812528 L -48.801449,96.812528 z M -85.960759,97.266868 L -85.960759,110.56196 C -85.960769,113.6752 -84.911229,116.19231 -82.804369,118.11817 C -80.849549,119.92819 -78.428279,120.84413 -75.582929,120.84414 C -72.708639,120.84413 -70.299649,119.92819 -68.337589,118.11817 C -66.230749,116.19231 -65.181219,113.6752 -65.181199,110.56196 L -65.181199,97.266868 L -70.083159,97.266868 L -70.083159,110.13155 C -70.083189,111.82572 -70.602129,113.20404 -71.637439,114.26833 C -72.708989,115.36882 -74.011849,115.91826 -75.582929,115.91826 C -77.096119,115.91827 -78.409069,115.36159 -79.480599,114.26833 C -80.544889,113.16785 -81.058809,111.79677 -81.058789,110.13155 L -81.058789,97.266868 L -85.960759,97.266868 z M -21.326509,101.04497 C -19.726469,101.045 -18.329289,101.49354 -17.141899,102.38405 C -15.990749,103.2963 -15.142999,104.62528 -14.607229,106.37736 L -27.782749,106.37736 C -27.399039,104.69044 -26.602849,103.38033 -25.415459,102.43187 C -24.264309,101.5124 -22.904849,101.045 -21.326509,101.04497 z "
- id="path4766"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text7149"
- y="141.60875"
- x="-112.3018"
- style="font-size:13.38996029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#dd8a3d;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- xml:space="preserve"><tspan
- y="141.60875"
- x="-112.3018"
- id="tspan7151"
- sodipodi:role="line">libre/free projects</tspan><tspan
- y="154.99871"
- x="-112.3018"
- sodipodi:role="line"
- id="tspan7153">collaborative platform</tspan></text>
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text7260"
- y="45.303005"
- x="1840.093"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#520;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:HoratioDMed"
- xml:space="preserve"><tspan
- y="45.303005"
- x="1840.093"
- sodipodi:role="line"
- id="tspan7262"
- dy="0 -0.96370161 -6.0086506e-07">© kune initiative</tspan></text>
- <g
- id="g10957"
- transform="matrix(1.216264,0,0,1.216264,549.56821,-416.02549)">
- <g
- transform="translate(-2.385332,4.770664)"
- id="g10959">
- <g
- transform="matrix(0.3688,0,0,0.3688,-188.5,-224.5906)"
- id="g10961">
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path10963"
- d="M 60.321717,411.99998 L 437.33633,411.99998"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path10965"
- d="M 252.61203,788.60332 L 252.61203,411.59154"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path10967"
- d="M 252.86937,597.15755 L 629.88177,597.15755"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path10969"
- d="M 437.45588,596.97447 L 437.45588,219.95956"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- <path
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
- id="path10971"
- d="M 372.87905,411.27704 L 437.81346,411.27704"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
- </g>
- <path
- style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- d="M -20.704789,96.645148 C -21.064409,96.645148 -21.410059,96.646418 -21.756929,96.669068 C -21.789299,96.675658 -21.819999,96.686888 -21.852569,96.692978 C -22.175449,96.753278 -22.494019,96.804708 -22.832959,96.812528 C -22.879919,96.819118 -22.929739,96.805498 -22.976439,96.812528 C -25.742889,97.229028 -28.080269,98.430228 -29.958749,100.42326 C -32.152499,102.7401 -33.258609,105.5156 -33.258619,108.74465 C -33.258619,112.00992 -32.152489,114.80428 -29.958749,117.11386 C -27.584029,119.60444 -24.498599,120.84413 -20.704789,120.84414 C -18.692069,120.84413 -16.757069,120.34405 -14.918079,119.33768 C -13.079129,118.36028 -11.480159,116.97691 -10.111759,115.22482 L -14.248549,112.92926 C -16.029619,115.30399 -18.217939,116.49215 -20.824349,116.49215 C -22.634379,116.49215 -24.257269,115.90499 -25.654579,114.74657 C -27.073649,113.58816 -27.782769,112.17717 -27.782749,110.49023 L -8.8683294,110.49023 L -8.8683294,109.53374 C -8.8683594,105.44312 -10.253919,102.16753 -13.005109,99.705888 C -15.321959,97.656978 -17.888419,96.645188 -20.704789,96.645148 z M -108.65329,96.812528 L -108.65329,105.97085 L -111.8575,105.97085 L -111.8575,110.65761 L -108.65329,110.65761 L -108.65329,120.22243 L -103.77523,120.22243 L -103.77523,110.65761 L -100.83405,110.65761 L -94.832129,120.22243 L -89.045409,120.22243 L -97.103769,108.07511 L -89.404089,97.266868 L -95.310369,97.266868 L -101.26446,105.97085 L -103.77523,105.97085 L -103.77523,96.812528 L -108.65329,96.812528 z M -48.801449,96.812528 C -49.641169,96.962408 -50.423599,97.206338 -51.144829,97.577718 C -52.361159,98.229348 -53.321429,99.088718 -54.038179,100.16022 L -54.038179,97.266868 L -58.940149,97.266868 L -58.940149,120.22243 L -54.038179,120.22243 L -54.038179,107.35775 C -54.038189,105.51879 -53.519239,104.10779 -52.483889,103.1014 C -51.441339,102.09506 -50.119629,101.59496 -48.490589,101.59495 C -46.767469,101.59496 -45.421849,102.05733 -44.473369,103.00576 C -43.524939,103.95422 -43.062589,105.44067 -43.062559,107.4534 L -43.062559,120.22243 L -38.160589,120.22243 L -38.160589,106.37736 C -38.160609,103.56098 -39.019979,101.23403 -40.743089,99.395038 C -42.035449,98.015828 -43.530809,97.157348 -45.238549,96.812528 L -48.801449,96.812528 z M -85.960759,97.266868 L -85.960759,110.56196 C -85.960769,113.6752 -84.911229,116.19231 -82.804369,118.11817 C -80.849549,119.92819 -78.428279,120.84413 -75.582929,120.84414 C -72.708639,120.84413 -70.299649,119.92819 -68.337589,118.11817 C -66.230749,116.19231 -65.181219,113.6752 -65.181199,110.56196 L -65.181199,97.266868 L -70.083159,97.266868 L -70.083159,110.13155 C -70.083189,111.82572 -70.602129,113.20404 -71.637439,114.26833 C -72.708989,115.36882 -74.011849,115.91826 -75.582929,115.91826 C -77.096119,115.91827 -78.409069,115.36159 -79.480599,114.26833 C -80.544889,113.16785 -81.058809,111.79677 -81.058789,110.13155 L -81.058789,97.266868 L -85.960759,97.266868 z M -21.326509,101.04497 C -19.726469,101.045 -18.329289,101.49354 -17.141899,102.38405 C -15.990749,103.2963 -15.142999,104.62528 -14.607229,106.37736 L -27.782749,106.37736 C -27.399039,104.69044 -26.602849,103.38033 -25.415459,102.43187 C -24.264309,101.5124 -22.904849,101.045 -21.326509,101.04497 z "
- id="path10973"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
- <text
- sodipodi:linespacing="100%"
- id="text10975"
- y="141.60875"
- x="-112.3018"
- style="font-size:13.38996029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#dd8a3d;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
- xml:space="preserve"><tspan
- y="141.60875"
- x="-112.3018"
- id="tspan10977"
- sodipodi:role="line">free / libre / open</tspan><tspan
- y="154.99871"
- x="-112.3018"
- sodipodi:role="line"
- id="tspan10979">collaborative platform</tspan></text>
- </g>
- </g>
-</svg>
Copied: trunk/img/kune-initial-diagram.svg (from rev 993, trunk/img/kune-fsm-virtual.svg)
Property changes on: trunk/img/kune-initial-diagram.svg
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-18 02:46:10 UTC (rev 998)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.k-deflicense-icon{background-image:url(img/copyleft.png)!important;}.k-info-icon{background-image:url(img/info.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/css/img/copyleft.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-18 02:46:10 UTC (rev 998)
@@ -816,6 +816,14 @@
background-image: url(img/emblem-system.gif) !important;
}
+.k-deflicense-icon {
+ background-image: url(img/copyleft.png) !important;
+}
+
+.k-info-icon {
+ background-image: url(img/info.gif) !important;
+}
+
.x-toolbar-body table {
/* width: 100%; */
}
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -83,7 +83,7 @@
@Override
public ChatEngine create() {
return new ChatEngineDefault($(I18nUITranslationService.class), $(WorkspaceSkeleton.class),
- $(Application.class), $(Session.class), $$(EmiteUIDialog.class));
+ $(Application.class), $(Session.class), $$(EmiteUIDialog.class), $$(FileDownloadUtils.class));
}
});
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngine.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngine.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngine.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -37,6 +37,8 @@
void logout();
+ void setAvatar(String photoBinary);
+
void show();
void stop();
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -23,10 +23,12 @@
import org.ourproject.kune.platf.client.app.Application;
import org.ourproject.kune.platf.client.dto.InitDataDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.ui.WindowUtils;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.workspace.client.site.Site;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -52,12 +54,15 @@
private final WorkspaceSkeleton ws;
private ToolbarButton traybarButton;
private final Provider<EmiteUIDialog> emiteUIProvider;
+ private final Provider<FileDownloadUtils> downloadUtils;
public ChatEngineDefault(final I18nTranslationService i18n, final WorkspaceSkeleton ws, Application application,
- Session session, final Provider<EmiteUIDialog> emiteUIProvider) {
+ Session session, final Provider<EmiteUIDialog> emiteUIProvider,
+ final Provider<FileDownloadUtils> downloadUtils) {
this.i18n = i18n;
this.ws = ws;
this.emiteUIProvider = emiteUIProvider;
+ this.downloadUtils = downloadUtils;
session.onInitDataReceived(new Listener<InitDataDTO>() {
public void onEvent(final InitDataDTO initData) {
checkChatDomain(initData.getChatDomain());
@@ -122,7 +127,12 @@
// FIXME: Avatar provider
final AvatarProvider avatarProvider = new AvatarProvider() {
public String getAvatarURL(XmppURI userURI) {
- return "images/person-def.gif";
+ if (userURI.getHost().equals(chatOptions.domain)) {
+ return downloadUtils.get().getLogoImageUrl(new StateToken(userURI.getNode()));
+ } else {
+ return "";
+ // return "images/person-def.gif";
+ }
}
};
final String initialWindowTitle = Window.getTitle();
@@ -138,7 +148,6 @@
if (traybarButton == null) {
traybarButton = new ToolbarButton();
traybarButton.setTooltip(i18n.t("Show/hide the chat window"));
- // traybarButton.setIcon("images/emite-chat.gif");
traybarButton.setIcon("images/e-icon.gif");
traybarButton.addListener(new ButtonListenerAdapter() {
@Override
@@ -184,6 +193,10 @@
}
}
+ public void setAvatar(String photoBinary) {
+ emiteUIProvider.get().setOwnVCardAvatar(photoBinary);
+ }
+
public void show() {
emiteUIProvider.get().show();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -49,12 +49,22 @@
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePresenter;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPanel;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenter;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndForm;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter;
+import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicense;
+import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePanel;
+import org.ourproject.kune.workspace.client.options.license.EntityOptionsDefLicensePresenter;
import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogo;
import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter;
@@ -452,7 +462,8 @@
@Override
public EntityOptionsLogo create() {
final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class),
- $(EntityHeader.class), $(EntityOptions.class), $(StateManager.class));
+ $(EntityHeader.class), $(EntityOptions.class), $(StateManager.class),
+ $$(UserServiceAsync.class), $$(ChatEngine.class));
final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class),
$(I18nTranslationService.class));
presenter.init(panel);
@@ -460,6 +471,18 @@
}
});
+ register(EntityOptionsGroup.class, new Factory<EntityOptionsDefLicense>(EntityOptionsDefLicense.class) {
+ @Override
+ public EntityOptionsDefLicense create() {
+ final EntityOptionsDefLicensePresenter presenter = new EntityOptionsDefLicensePresenter(
+ $(EntityOptions.class), $(StateManager.class), $(Session.class), $$(LicenseWizard.class));
+ final EntityOptionsDefLicensePanel panel = new EntityOptionsDefLicensePanel(presenter,
+ $(WorkspaceSkeleton.class), $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
register(Singleton.class, new Factory<RenameAction>(RenameAction.class) {
@Override
public RenameAction create() {
@@ -468,5 +491,31 @@
}
});
+ register(Singleton.class, new Factory<LicenseWizard>(LicenseWizard.class) {
+ @Override
+ public LicenseWizard create() {
+ final LicenseWizardPresenter presenter = new LicenseWizardPresenter(
+ $(LicenseWizardFirstFormView.class), $(LicenseWizardSndFormView.class),
+ $$(GroupServiceAsync.class));
+ final LicenseWizardPanel panel = new LicenseWizardPanel(presenter, $(WorkspaceSkeleton.class),
+ $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardFirstFormView>(LicenseWizardFirstFormView.class) {
+ @Override
+ public LicenseWizardFirstFormView create() {
+ return new LicenseWizardFirstForm($(I18nTranslationService.class));
+ }
+ });
+
+ register(Singleton.class, new Factory<LicenseWizardSndFormView>(LicenseWizardSndFormView.class) {
+ @Override
+ public LicenseWizardSndFormView create() {
+ return new LicenseWizardSndForm($(I18nTranslationService.class));
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -21,6 +21,7 @@
import com.allen_sauer.gwt.log.client.Log;
import com.gwtext.client.core.Position;
import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.PaddedPanel;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.FieldSet;
import com.gwtext.client.widgets.form.FormPanel;
@@ -63,6 +64,10 @@
form.add(label);
}
+ public void add(PaddedPanel paddedPanel) {
+ form.add(paddedPanel);
+ }
+
public void addButton(final Button button) {
form.addButton(button);
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultFormUtils.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,39 @@
+package org.ourproject.kune.platf.client.ui.dialogs;
+
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+
+import com.gwtext.client.widgets.ToolTip;
+import com.gwtext.client.widgets.form.FieldSet;
+import com.gwtext.client.widgets.form.Radio;
+
+public class DefaultFormUtils {
+
+ public static String br() {
+ return "<br/>";
+ }
+
+ public static String brbr() {
+ return "<br/><br/>";
+ }
+
+ public static Radio createRadio(final FieldSet fieldSet, final String radioLabel, final String radioTip,
+ final String id) {
+ Radio radio = new Radio();
+ radio.setName("k-def-radio-field");
+ radio.setAutoCreate(true);
+ radio.setHideLabel(true);
+ radio.setId(id);
+ fieldSet.add(radio);
+
+ if (radioTip != null) {
+ radio.setBoxLabel(KuneUiUtils.genQuickTipLabel(radioLabel, null, radioTip));
+ ToolTip tooltip = new ToolTip();
+ tooltip.setHtml(radioTip);
+ tooltip.setWidth(250);
+ tooltip.applyTo(radio);
+ } else {
+ radio.setBoxLabel(radioLabel);
+ }
+ return radio;
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -19,17 +19,20 @@
*/
package org.ourproject.kune.platf.client.ui.dialogs;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
+import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Toolbar;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.WindowListenerAdapter;
-public class WizardDialog {
+public class WizardDialog implements WizardDialogView {
private final Button backButton;
private final Button cancelButton;
@@ -39,9 +42,9 @@
private final Button nextButton;
public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
- final int width, final int height, final int minWidth, final int minHeight, final WizardListener listener,
- final I18nTranslationService i18n, final String backId, final String nextId, final String finishId,
- final String cancelId, final String closeId) {
+ final int width, final int height, final int minWidth, final int minHeight, final String backId,
+ final String nextId, final String finishId, final String cancelId, final String closeId,
+ final I18nTranslationService i18n, final WizardListener listener) {
dialog = new BasicDialog(dialogId, caption, modal, false, width, height, minWidth, minHeight);
this.i18n = i18n;
dialog.setCollapsible(minimizable);
@@ -98,10 +101,24 @@
public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
final int width, final int height, final WizardListener listener, final I18nTranslationService i18n,
final String backId, final String nextId, final String finishId, final String cancelId, final String closeId) {
- this(dialogId, caption, modal, minimizable, width, height, width, height, listener, i18n, backId, nextId,
- finishId, cancelId, closeId);
+ this(dialogId, caption, modal, minimizable, width, height, width, height, backId, nextId, finishId, cancelId,
+ closeId, i18n, listener);
}
+ public void add(View view) {
+ if (view instanceof Widget) {
+ dialog.add((Widget) view);
+ } else if (view instanceof Panel) {
+ dialog.add((Panel) view);
+ } else if (view instanceof DefaultForm) {
+ dialog.add(((DefaultForm) view).getFormPanel());
+ } else {
+ Log.error("Trying to add a unknown element in WizardDialog");
+ }
+ doLayoutIfNeeded();
+ }
+
+ @Deprecated
public void add(final Widget widget) {
dialog.add(widget);
}
@@ -110,6 +127,10 @@
dialog.center();
}
+ public void clear() {
+ dialog.clear();
+ }
+
public void hide() {
dialog.hide();
}
@@ -122,10 +143,21 @@
mask(i18n.t("Processing"));
}
+ public void remove(View view) {
+ dialog.remove((Widget) view);
+ }
+
public void setBottomToolbar(Toolbar toolbar) {
dialog.setBottomToolbar(toolbar);
}
+ public void setEnabled(boolean back, boolean next, boolean cancel, boolean finish) {
+ setEnabledBackButton(back);
+ setEnabledNextButton(next);
+ setEnabledCancelButton(cancel);
+ setEnabledFinishButton(finish);
+ }
+
public void setEnabledBackButton(final boolean enabled) {
if (enabled) {
backButton.enable();
@@ -162,6 +194,17 @@
finishButton.setText(text);
}
+ public void setIconCls(String iconCls) {
+ dialog.setIconCls(iconCls);
+ }
+
+ public void setVisible(boolean back, boolean next, boolean cancel, boolean finish) {
+ setVisibleBackButton(back);
+ setVisibleNextButton(next);
+ setVisibleCancelButton(cancel);
+ setVisibleFinishButton(finish);
+ }
+
public void setVisibleBackButton(final boolean visible) {
backButton.setVisible(visible);
}
@@ -185,4 +228,10 @@
public void unMask() {
dialog.getEl().unmask();
}
+
+ private void doLayoutIfNeeded() {
+ if (dialog.isRendered()) {
+ dialog.doLayout();
+ }
+ }
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialogView.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,47 @@
+package org.ourproject.kune.platf.client.ui.dialogs;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface WizardDialogView extends View {
+
+ void add(View view);
+
+ void center();
+
+ void clear();
+
+ void hide();
+
+ void mask(final String message);
+
+ void maskProcessing();
+
+ void remove(View view);
+
+ void setEnabled(boolean back, boolean next, boolean cancel, boolean finish);
+
+ void setEnabledBackButton(final boolean enabled);
+
+ void setEnabledCancelButton(final boolean enabled);
+
+ void setEnabledFinishButton(final boolean enabled);
+
+ void setEnabledNextButton(final boolean enabled);
+
+ void setFinishText(final String text);
+
+ void setVisible(boolean back, boolean next, boolean cancel, boolean finish);
+
+ void setVisibleBackButton(final boolean visible);
+
+ void setVisibleCancelButton(final boolean visible);
+
+ void setVisibleFinishButton(final boolean visible);
+
+ void setVisibleNextButton(final boolean visible);
+
+ void show();
+
+ void unMask();
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -21,6 +21,7 @@
import java.util.UUID;
+import org.jivesoftware.smack.util.Base64;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.dto.UserDTO;
@@ -34,6 +35,7 @@
import org.ourproject.kune.platf.server.auth.Authenticated;
import org.ourproject.kune.platf.server.auth.Authorizated;
import org.ourproject.kune.platf.server.auth.SessionService;
+import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.GroupManager;
@@ -81,7 +83,24 @@
return loginUser(user);
}
+ @Authenticated
@Transactional(type = TransactionType.READ_ONLY)
+ @Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
+ public String getUserAvatarBaser64(final String userHash, StateToken userToken) throws DefaultException {
+ final UserSession userSession = getUserSession();
+ final User user = userSession.getUser();
+ Group userGroup = user.getUserGroup();
+ if (!userGroup.getShortName().equals(userToken.getGroup())) {
+ throw new AccessViolationException();
+ }
+ if (userGroup.hasLogo()) {
+ return Base64.encodeBytes(userGroup.getLogo());
+ } else {
+ throw new DefaultException("Unexpected programatic exception (user has no logo)");
+ }
+ }
+
+ @Transactional(type = TransactionType.READ_ONLY)
public UserInfoDTO login(final String nickOrEmail, final String passwd) throws DefaultException {
final SessionService sessionService = sessionServiceProvider.get();
sessionService.getNewSession();
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizard.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+public interface LicenseWizard {
+
+ void show();
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPanel.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,45 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.WizardDialog;
+import org.ourproject.kune.platf.client.ui.dialogs.WizardListener;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+public class LicenseWizardPanel extends WizardDialog implements LicenseWizardView {
+
+ public static final String LIC_WIZ_DIALOG = "k-lwp-diag";
+ public static final String BACK_BTN_ID = "k-lwp-back-btn";
+ public static final String NEXT_BTN_ID = "k-lwp-next-btn";
+ public static final String FINISH_BTN_ID = "k-lwp-finish-btn";
+ public static final String CLOSE_BTN_ID = "k-lwp-close-btn";
+ public static final String CANCEL_BTN_ID = "k-lwp-cancel-btn";
+
+ public LicenseWizardPanel(final LicenseWizardPresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n) {
+ super(LIC_WIZ_DIALOG, i18n.t("License wizard"), true, false, 400, 300, 400, 300, BACK_BTN_ID, NEXT_BTN_ID,
+ FINISH_BTN_ID, CANCEL_BTN_ID, CLOSE_BTN_ID, i18n, new WizardListener() {
+ public void onBack() {
+ presenter.onBack();
+ }
+
+ public void onCancel() {
+ presenter.onCancel();
+ }
+
+ public void onClose() {
+ presenter.onClose();
+ }
+
+ public void onFinish() {
+ presenter.onChange();
+ }
+
+ public void onNext() {
+ presenter.onNext();
+ }
+ });
+ super.setFinishText(i18n.t("Change"));
+ super.setIconCls("k-deflicense-icon");
+
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenter.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,88 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener0;
+
+public class LicenseWizardPresenter implements LicenseWizard {
+
+ private LicenseWizardView view;
+ private final LicenseWizardFirstFormView firstForm;
+ private final LicenseWizardSndFormView sndForm;
+ private final Provider<GroupServiceAsync> groupService;
+
+ public LicenseWizardPresenter(LicenseWizardFirstFormView firstForm, LicenseWizardSndFormView sndForm,
+ Provider<GroupServiceAsync> groupService) {
+ this.firstForm = firstForm;
+ this.sndForm = sndForm;
+ this.groupService = groupService;
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(LicenseWizardView view) {
+ this.view = view;
+ firstForm.onCopyLeftLicenseSelected(new Listener0() {
+ public void onEvent() {
+ onCopyLeftLicenseSelected();
+ }
+ });
+ firstForm.onAnotherLicenseSelected(new Listener0() {
+ public void onEvent() {
+ onAnotherLicenseSelecterd();
+ }
+ });
+ }
+
+ public void onBack() {
+ view.clear();
+ view.add(firstForm);
+ view.setEnabled(false, true, true, true);
+ }
+
+ public void onCancel() {
+ view.hide();
+ }
+
+ public void onChange() {
+ // What license?
+ // FIXME RPC call()
+ }
+
+ public void onClose() {
+ view.hide();
+ }
+
+ public void onNext() {
+ view.clear();
+ view.add(sndForm);
+ view.setEnabled(true, false, true, true);
+ }
+
+ public void show() {
+ reset();
+ view.show();
+ view.center();
+ }
+
+ void onAnotherLicenseSelecterd() {
+ view.setEnabled(false, true, true, false);
+ }
+
+ void onCopyLeftLicenseSelected() {
+ view.setEnabled(false, false, true, true);
+ }
+
+ private void reset() {
+ view.clear();
+ view.setEnabled(false, false, true, true);
+ view.add(firstForm);
+ firstForm.reset();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardView.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+import org.ourproject.kune.platf.client.ui.dialogs.WizardDialogView;
+
+public interface LicenseWizardView extends WizardDialogView {
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstForm.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,97 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.TextUtils;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
+
+import com.calclab.suco.client.listener.Event0;
+import com.calclab.suco.client.listener.Listener0;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.FieldSet;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.Radio;
+import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
+
+public class LicenseWizardFirstForm extends DefaultForm implements LicenseWizardFirstFormView {
+ private static final String POINT = "» ";
+ public static final String RADIO_COPYLEFT_ID = "k-lwff-copyleft";
+ public static final String RADIO_ANOTHER_ID = "k-lwff-another";
+ private final Event0 onCopyLeftLicenseSelected;
+ private final Event0 onAnotherLicenseSelected;
+ private final Radio copyleftRadio;
+ private final Radio anotherLicenseRadio;
+
+ public LicenseWizardFirstForm(I18nTranslationService i18n) {
+ this.onCopyLeftLicenseSelected = new Event0("onCopyLeftLicenseSelected");
+ this.onAnotherLicenseSelected = new Event0("onAnotherLicenseSelected");
+
+ Label intro = new Label();
+ intro.setHtml(i18n.t("Select a license to share your group contents with other people:")
+ + DefaultFormUtils.brbr());
+
+ final FieldSet fieldSet = new FieldSet(i18n.t("Group type"));
+ fieldSet.setStyle("margin-left: 105px");
+ fieldSet.setWidth(250);
+ copyleftRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Use a copyleft license (recommended)."), null,
+ RADIO_COPYLEFT_ID);
+ anotherLicenseRadio = DefaultFormUtils.createRadio(fieldSet,
+ i18n.t("Use another kind of license (advanced use)."), null, RADIO_ANOTHER_ID);
+ copyleftRadio.addListener(new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ if (checked) {
+ onCopyLeftLicenseSelected.fire();
+ }
+ }
+ });
+ anotherLicenseRadio.addListener(new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ if (checked) {
+ onAnotherLicenseSelected.fire();
+ }
+ }
+ });
+
+ FieldSet infoFS = new FieldSet("Info");
+ infoFS.setFrame(false);
+ infoFS.setIconCls("k-info-icon");
+ infoFS.setCollapsible(false);
+ infoFS.setAutoHeight(true);
+
+ Label recommendCopyleft = new Label();
+ Label whyALicense = new Label();
+ Label youCanChangeTheLicenseLater = new Label();
+ recommendCopyleft.setHtml(POINT
+ + i18n.t("We recommend [%s] licenses, specially for practical works.", TextUtils.generateHtmlLink(
+ "http://en.wikipedia.org/wiki/Copyleft", i18n.t("copyleft"))) + DefaultFormUtils.br());
+ // FIXME
+ whyALicense.setHtml(POINT + TextUtils.generateHtmlLink("FIXME", i18n.t("Do we need a license?"))
+ + DefaultFormUtils.br());
+ youCanChangeTheLicenseLater.setHtml(POINT
+ + i18n.t("You can change this license later or select a per content license.") + DefaultFormUtils.br());
+
+ add(intro);
+ add(copyleftRadio);
+ add(anotherLicenseRadio);
+ infoFS.add(recommendCopyleft);
+ infoFS.add(whyALicense);
+ infoFS.add(youCanChangeTheLicenseLater);
+ add(infoFS);
+ }
+
+ public void onAnotherLicenseSelected(final Listener0 slot) {
+ onAnotherLicenseSelected.add(slot);
+ }
+
+ public void onCopyLeftLicenseSelected(final Listener0 slot) {
+ onCopyLeftLicenseSelected.add(slot);
+ }
+
+ @Override
+ public void reset() {
+ super.reset();
+ copyleftRadio.setChecked(true);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstFormView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstFormView.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardFirstFormView.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,13 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.View;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public interface LicenseWizardFirstFormView extends View {
+ void onAnotherLicenseSelected(Listener0 slot);
+
+ void onCopyLeftLicenseSelected(Listener0 slot);
+
+ void reset();
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndForm.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,67 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
+
+import com.calclab.suco.client.listener.Event0;
+import com.calclab.suco.client.listener.Listener0;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.FieldSet;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.Radio;
+import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
+
+public class LicenseWizardSndForm extends DefaultForm implements LicenseWizardSndFormView {
+ public static final String COMMON_LICENSES_ID = "k-lwsf-common";
+ public static final String OTHER_LICENSES_ID = "k-lwsf-other";
+ private final Event0 onCommonLicensesSelected;
+ private final Event0 onOtherLicensesSelected;
+ private final Radio commonLicensesRadio;
+ private final Radio otherLicensesRadio;
+
+ public LicenseWizardSndForm(I18nTranslationService i18n) {
+ this.onCommonLicensesSelected = new Event0("onCommonLicensesSelected");
+ this.onOtherLicensesSelected = new Event0("onOtherLicensesSelected");
+
+ Label intro = new Label();
+ intro.setHtml(i18n.t("Select the type of license:") + DefaultFormUtils.brbr());
+
+ final FieldSet fieldSet = new FieldSet(i18n.t("Group type"));
+ fieldSet.setStyle("margin-left: 105px");
+ fieldSet.setWidth(250);
+ commonLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Common licenses"), null,
+ COMMON_LICENSES_ID);
+ otherLicensesRadio = DefaultFormUtils.createRadio(fieldSet, i18n.t("Other kind of licenses"), null,
+ OTHER_LICENSES_ID);
+ commonLicensesRadio.addListener(new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ onCommonLicensesSelected.fire();
+ }
+ });
+ otherLicensesRadio.addListener(new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ onOtherLicensesSelected.fire();
+ }
+ });
+ add(intro);
+ add(commonLicensesRadio);
+ add(otherLicensesRadio);
+ }
+
+ public void onCommonLicensesSelected(final Listener0 slot) {
+ onCommonLicensesSelected.add(slot);
+ }
+
+ public void onOtherLicensesSelected(final Listener0 slot) {
+ onOtherLicensesSelected.add(slot);
+ }
+
+ @Override
+ public void reset() {
+ super.reset();
+ commonLicensesRadio.setChecked(true);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensewizard/pages/LicenseWizardSndFormView.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,13 @@
+package org.ourproject.kune.workspace.client.licensewizard.pages;
+
+import org.ourproject.kune.platf.client.View;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public interface LicenseWizardSndFormView extends View {
+ void onCommonLicensesSelected(Listener0 slot);
+
+ void onOtherLicensesSelected(Listener0 slot);
+
+ void reset();
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -21,8 +21,8 @@
import org.ourproject.kune.platf.client.dto.LicenseDTO;
import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.KuneUiUtils;
import org.ourproject.kune.platf.client.ui.TextUtils;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
import org.ourproject.kune.platf.client.ui.dialogs.MessageToolbar;
import org.ourproject.kune.platf.client.ui.dialogs.WizardDialog;
import org.ourproject.kune.platf.client.ui.dialogs.WizardListener;
@@ -84,28 +84,29 @@
public NewGroupPanel(final NewGroupPresenter presenter, final I18nUITranslationService i18n,
final Provider<LicenseChoose> licenseChooseProvider, Images img) {
- super(NEWGROUP_WIZARD, i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, new WizardListener() {
- public void onBack() {
- presenter.onBack();
- }
+ super(NEWGROUP_WIZARD, i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430,
+ new WizardListener() {
+ public void onBack() {
+ presenter.onBack();
+ }
- public void onCancel() {
- presenter.onCancel();
- }
+ public void onCancel() {
+ presenter.onCancel();
+ }
- public void onClose() {
- Log.info("close pressed");
- presenter.onClose();
- }
+ public void onClose() {
+ Log.info("close pressed");
+ presenter.onClose();
+ }
- public void onFinish() {
- presenter.onFinish();
- }
+ public void onFinish() {
+ presenter.onFinish();
+ }
- public void onNext() {
- presenter.onNext();
- }
- }, i18n, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
+ public void onNext() {
+ presenter.onNext();
+ }
+ }, i18n, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
this.i18n = i18n;
Field.setMsgTarget("side");
final Panel centerPanel = new Panel();
@@ -270,7 +271,8 @@
tags.setName(TAGS_FIELD);
tags.setWidth(BIG_FIELD_WIDTH);
tags.setAllowBlank(false);
- final ToolTip fieldToolTip = new ToolTip(i18n.t("Please, write some keywords for this group (separated with spaces)."));
+ final ToolTip fieldToolTip = new ToolTip(
+ i18n.t("Please, write some keywords for this group (separated with spaces)."));
fieldToolTip.applyTo(tags);
tags.setValidationDelay(1000);
form.add(tags);
@@ -281,47 +283,31 @@
form.add(groupTypeFieldSet);
- projectRadio = new Radio();
- projectRadio.setTabIndex(5);
- createRadio(groupTypeFieldSet, projectRadio, "Project",
- "A project is a kind of group in which new members joining "
+ projectRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Project"),
+ i18n.t("A project is a kind of group in which new members joining "
+ "is moderated by the project administrators. "
+ "An administrator is the person who creates the project "
- + "and other people she/he chooses to be administrator as well.", PROJ_GROUP_TYPE_ID);
+ + "and other people she/he chooses to be administrator as well."), PROJ_GROUP_TYPE_ID);
+ projectRadio.setTabIndex(5);
projectRadio.setChecked(true);
- orgRadio = new Radio();
+ orgRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Organization"),
+ i18n.t("An organization works as a project, " + "but organizations must be a legal entity."),
+ ORG_GROUP_TYPE_ID);
orgRadio.setTabIndex(6);
- createRadio(groupTypeFieldSet, orgRadio, "Organization", "An organization works as a project, "
- + "but organizations must be a legal entity.", ORG_GROUP_TYPE_ID);
- communityRadio = new Radio();
+ communityRadio = DefaultFormUtils.createRadio(groupTypeFieldSet, i18n.t("Community"),
+ i18n.t("Communities are social groups of persons "
+ + "with shared interests, which are open to new members "
+ + "(for instance the environmental community or the LGBT community). "
+ + "They rarely are a legal entity."), COMM_GROUP_TYPE_ID);
communityRadio.setTabIndex(7);
- createRadio(groupTypeFieldSet, communityRadio, "Community", "Communities are social groups of persons "
- + "with shared interests, which are open to new members "
- + "(for instance the environmental community or the LGBT community). "
- + "They rarely are a legal entity.", COMM_GROUP_TYPE_ID);
groupTypeFieldSet.setCollapsible(false);
return form;
}
- private void createRadio(final FieldSet fieldSet, final Radio radio, final String radioLabel,
- final String radioTip, final String id) {
- radio.setName(TYPEOFGROUP_FIELD);
- radio.setBoxLabel(KuneUiUtils.genQuickTipLabel(i18n.t(radioLabel), null, i18n.t(radioTip)));
- radio.setAutoCreate(true);
- radio.setHideLabel(true);
- radio.setId(id);
- fieldSet.add(radio);
-
- ToolTip tooltip = new ToolTip();
- tooltip.setHtml(radioTip);
- tooltip.setWidth(250);
- tooltip.applyTo(radio);
- }
-
private void initBottomButtons() {
super.setEnabledBackButton(false);
super.setEnabledFinishButton(false);
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicense.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicense.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicense.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.options.license;
+
+public interface EntityOptionsDefLicense {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePanel.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,53 @@
+package org.ourproject.kune.workspace.client.options.license;
+
+import org.ourproject.kune.platf.client.dto.LicenseDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.Image;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.PaddedPanel;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.form.Label;
+
+public class EntityOptionsDefLicensePanel extends DefaultForm implements EntityOptionsDefLicenseView {
+
+ private final Image licenseImage;
+
+ public EntityOptionsDefLicensePanel(final EntityOptionsDefLicensePresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n) {
+ super(i18n.t("License"));
+ super.setAutoWidth(true);
+ super.setAutoHeight(true);
+ Label intro = new Label();
+ intro.setHtml(i18n.t("This is the default license of all the contents of this group (you can also select another different license per content).")
+ + DefaultFormUtils.brbr());
+
+ licenseImage = new Image();
+ Panel imagePanel = new Panel();
+ imagePanel.setBorder(false);
+ imagePanel.add(licenseImage);
+
+ Button change = new Button(i18n.t("Change"));
+ change.addListener(new ButtonListenerAdapter() {
+ @Override
+ public void onClick(Button button, EventObject e) {
+ presenter.onChange();
+ }
+ });
+
+ add(intro);
+ add(new PaddedPanel(imagePanel, 0, 110, 0, 5));
+ addButton(change);
+ }
+
+ public void setLicense(LicenseDTO defaultLicense) {
+ licenseImage.setUrl(defaultLicense.getImageUrl());
+ KuneUiUtils.setQuickTip(licenseImage, defaultLicense.getLongName());
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicensePresenter.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,48 @@
+package org.ourproject.kune.workspace.client.options.license;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizard;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener2;
+
+public class EntityOptionsDefLicensePresenter implements EntityOptionsDefLicense {
+
+ private EntityOptionsDefLicenseView view;
+ private final EntityOptions entityOptions;
+ private final Session session;
+ private final Provider<LicenseWizard> licenseWizard;
+
+ public EntityOptionsDefLicensePresenter(EntityOptions entityOptions, StateManager stateManager, Session session,
+ Provider<LicenseWizard> licenseWizard) {
+ this.entityOptions = entityOptions;
+ this.session = session;
+ this.licenseWizard = licenseWizard;
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(String group1, String group2) {
+ setState();
+ }
+ });
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(EntityOptionsDefLicenseView view) {
+ this.view = view;
+ entityOptions.addOptionTab(view);
+ setState();
+ }
+
+ public void onChange() {
+ licenseWizard.get().show();
+ }
+
+ private void setState() {
+ view.setLicense(session.getCurrentState().getGroup().getDefaultLicense());
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/license/EntityOptionsDefLicenseView.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,10 @@
+package org.ourproject.kune.workspace.client.options.license;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.LicenseDTO;
+
+public interface EntityOptionsDefLicenseView extends View {
+
+ void setLicense(LicenseDTO defaultLicense);
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -20,6 +20,7 @@
import org.ourproject.kune.platf.client.PlatfMessages;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultFormUtils;
import org.ourproject.kune.platf.client.ui.download.FileParams;
import org.ourproject.kune.workspace.client.entityheader.EntityHeaderView;
import org.ourproject.kune.workspace.client.site.Site;
@@ -134,7 +135,7 @@
dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
+ "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT, EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT)
- + "<br/><br/>");
+ + DefaultFormUtils.brbr());
super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
doLayoutIfNeeded();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -18,13 +18,18 @@
*
*/package org.ourproject.kune.workspace.client.options.logo;
+import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
+import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener2;
public class EntityOptionsLogoPresenter implements EntityOptionsLogo {
@@ -33,12 +38,16 @@
private final Session session;
private final EntityHeader entityLogo;
private final EntityOptions entityOptions;
+ private final Provider<UserServiceAsync> userService;
+ private final Provider<ChatEngine> chatEngine;
public EntityOptionsLogoPresenter(Session session, EntityHeader entityLogo, EntityOptions entityOptions,
- StateManager stateManager) {
+ StateManager stateManager, Provider<UserServiceAsync> userService, Provider<ChatEngine> chatEngine) {
this.session = session;
this.entityLogo = entityLogo;
this.entityOptions = entityOptions;
+ this.userService = userService;
+ this.chatEngine = chatEngine;
stateManager.onGroupChanged(new Listener2<String, String>() {
public void onEvent(String group1, String group2) {
setState();
@@ -56,8 +65,17 @@
setState();
}
- public void onSubmitComplete(int httpStatus, String responseText) {
+ public void onSubmitComplete(int httpStatus, String photoBinary) {
entityLogo.reloadGroupLogoImage();
+ GroupDTO group = session.getCurrentState().getGroup();
+ if (session.getCurrentUser().getShortName().equals(group.getShortName())) {
+ userService.get().getUserAvatarBaser64(session.getUserHash(), group.getStateToken(),
+ new AsyncCallbackSimple<String>() {
+ public void onSuccess(String photoBinary) {
+ chatEngine.get().setAvatar(photoBinary);
+ }
+ });
+ }
}
public void onSubmitFailed(int httpStatus, String responseText) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -31,6 +31,8 @@
UserInfoDTO createUser(UserDTO user, boolean wantPersonalHomepage) throws DefaultException;
+ String getUserAvatarBaser64(String userHash, StateToken userToken) throws DefaultException;
+
UserInfoDTO login(String nickOrEmail, String passwd) throws DefaultException;
void logout(String userHash) throws DefaultException;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -30,6 +30,8 @@
void createUser(UserDTO user, boolean wantPersonalHomepage, AsyncCallback<UserInfoDTO> asyncCallback);
+ void getUserAvatarBaser64(String userHash, StateToken userToken, AsyncCallback<?> asyncCallback);
+
void login(String nickOrEmail, String passwd, AsyncCallback<UserInfoDTO> asyncCallback);
void logout(String userHash, AsyncCallback<?> asyncCallback);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -220,6 +220,7 @@
return gridItem;
}
+ // FIXME: Code smell: create a Utility with this
private String createLogoAvatar(StateToken groupToken, boolean groupHasLogo, boolean isPersonal, int size,
int hvspace) {
if (groupHasLogo) {
Added: trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/LicenseWizardPresenterTest.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,58 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardFirstFormView;
+import org.ourproject.kune.workspace.client.licensewizard.pages.LicenseWizardSndFormView;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class LicenseWizardPresenterTest {
+
+ private LicenseWizardView view;
+ private LicenseWizardPresenter licenseWizard;
+ private LicenseWizardFirstFormView firstForm;
+ private LicenseWizardSndFormView sndForm;
+ private Provider<GroupServiceAsync> groupService;
+
+ @Before
+ public void before() {
+ view = Mockito.mock(LicenseWizardView.class);
+ firstForm = Mockito.mock(LicenseWizardFirstFormView.class);
+ sndForm = Mockito.mock(LicenseWizardSndFormView.class);
+ groupService = MockProvider.mock(GroupServiceAsync.class);
+ licenseWizard = new LicenseWizardPresenter(firstForm, sndForm, groupService);
+ licenseWizard.init(view);
+ }
+
+ @Test
+ public void onAnotherSelected() {
+ licenseWizard.onAnotherLicenseSelecterd();
+ Mockito.verify(view).setEnabled(false, true, true, false);
+ licenseWizard.onNext();
+ Mockito.verify(view).add(sndForm);
+ Mockito.verify(view).setEnabled(true, false, true, true);
+ licenseWizard.onBack();
+ Mockito.verify(view).add(firstForm);
+ Mockito.verify(view).setEnabled(false, true, true, true);
+ }
+
+ @Test
+ public void onCopyleftSelected() {
+ licenseWizard.onCopyLeftLicenseSelected();
+ Mockito.verify(view).setEnabled(false, false, true, true);
+ }
+
+ @Test
+ public void onShowResetWidget() {
+ licenseWizard.show();
+ Mockito.verify(view).clear();
+ Mockito.verify(view).center();
+ Mockito.verify(view).setEnabled(false, false, true, true);
+ Mockito.verify(view).add(firstForm);
+ Mockito.verify(firstForm).reset();
+ Mockito.verify(view).show();
+ }
+}
Added: trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/MockProvider.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/MockProvider.java 2008-12-17 11:37:13 UTC (rev 997)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/licensewizard/MockProvider.java 2008-12-18 02:46:10 UTC (rev 998)
@@ -0,0 +1,31 @@
+package org.ourproject.kune.workspace.client.licensewizard;
+
+import org.mockito.Mockito;
+
+import com.calclab.suco.client.SucoFactory;
+import com.calclab.suco.client.ioc.Container;
+import com.calclab.suco.client.ioc.Decorator;
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.ioc.decorator.Singleton;
+
+public class MockProvider {
+ private static Container container;
+
+ public static <T> Provider<T> mock(final Class<T> classToMock) {
+ return mock(Singleton.instance, classToMock);
+ }
+
+ public static <T> Provider<T> mock(Decorator decorator, final Class<T> classToMock) {
+ if (container == null) {
+ container = SucoFactory.create();
+ }
+ if (!container.hasProvider(classToMock)) {
+ container.registerProvider(decorator, classToMock, new Provider<T>() {
+ public T get() {
+ return Mockito.mock(classToMock);
+ }
+ });
+ }
+ return container.getProvider(classToMock);
+ }
+}
1
0
Author: vjrj
Date: 2008-12-17 12:37:13 +0100 (Wed, 17 Dec 2008)
New Revision: 997
Modified:
trunk/doc/kune-dic-08.odp
Log:
new kune odp revision
Modified: trunk/doc/kune-dic-08.odp
===================================================================
(Binary files differ)
1
0
Author: shevek
Date: 2008-12-17 03:05:53 +0100 (Wed, 17 Dec 2008)
New Revision: 996
Modified:
trunk/doc/kune-dic-08.odp
Log:
Kune presentation improved: translation, organization and design
Modified: trunk/doc/kune-dic-08.odp
===================================================================
(Binary files differ)
1
0
r995 - in trunk: doc src/main/java/org/ourproject/kune/workspace/client/editor/insert src/main/java/org/ourproject/kune/workspace/client/options
by vjrj 15 Dec '08
by vjrj 15 Dec '08
15 Dec '08
Author: vjrj
Date: 2008-12-15 13:26:44 +0100 (Mon, 15 Dec 2008)
New Revision: 995
Modified:
trunk/doc/kune-dic-08.odp
trunk/doc/kune-dic-08.pdf
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
Log:
Incomplete - task New Link/Image insert dialog in editor
Dec-08 presentation updated
Modified: trunk/doc/kune-dic-08.odp
===================================================================
(Binary files differ)
Modified: trunk/doc/kune-dic-08.pdf
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java 2008-12-15 00:59:28 UTC (rev 994)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java 2008-12-15 12:26:44 UTC (rev 995)
@@ -16,7 +16,7 @@
public TextEditorInsertElementPanel(final TextEditorInsertElementPresenter presenter, final WorkspaceSkeleton ws,
Images images, I18nTranslationService i18n, final TextEditorInsertElementGroup textEditorInsertElementGroup) {
super(TEXT_EDT_INSERT_DIALOG, i18n.tWithNT("Insert an element",
- "Option in a text editor to insert links and other elements"), 380, 170, 380, 170, images,
+ "Option in a text editor to insert links and other elements"), 380, 170, 380, 170, true, images,
TEXT_EDT_INSERT_DIALOG_ERROR_ID);
// super.setIconCls("k-options-icon");
this.textEditorInsertElementGroup = textEditorInsertElementGroup;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-15 00:59:28 UTC (rev 994)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-15 12:26:44 UTC (rev 995)
@@ -28,15 +28,17 @@
private String iconCls;
private final String dialogId;
private Listener0 onHideListener;
+ private final boolean modal;
public AbstractOptionsPanel(String dialogId, String title, int width, int height, int minWidth, int minHeight,
- Images images, String errorLabelId) {
+ boolean modal, Images images, String errorLabelId) {
this.dialogId = dialogId;
this.title = title;
this.width = width;
this.height = height;
this.minWidth = minWidth;
this.minHeight = minHeight;
+ this.modal = modal;
this.images = images;
this.errorLabelId = errorLabelId;
}
@@ -134,7 +136,7 @@
}
private void createDialog() {
- dialog = new BasicDialog(dialogId, title, false, true, width, height, minWidth, minHeight);
+ dialog = new BasicDialog(dialogId, title, modal, true, width, height, minWidth, minHeight);
messageErrorBar = new MessageToolbar(images, errorLabelId);
dialog.setBottomToolbar(messageErrorBar.getToolbar());
tabPanel = new TabPanel();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-15 00:59:28 UTC (rev 994)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-15 12:26:44 UTC (rev 995)
@@ -31,7 +31,7 @@
public EntityOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
- super(ENTITY_OP_PANEL_ID, "", 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
+ super(ENTITY_OP_PANEL_ID, "", 400, 250, 400, 250, false, images, GROUP_OPTIONS_ERROR_ID);
this.entityHeader = entityHeader;
this.i18n = i18n;
this.images = images;
1
0
Author: vjrj
Date: 2008-12-15 01:59:28 +0100 (Mon, 15 Dec 2008)
New Revision: 994
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java
Removed:
trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java
Modified:
trunk/doc/kune-dic-08.pdf
trunk/img/kune-logos.svg
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java
Log:
Incomplete - task New Link/Image insert dialog in editor
Some fixes
Modified: trunk/doc/kune-dic-08.pdf
===================================================================
(Binary files differ)
Modified: trunk/img/kune-logos.svg
===================================================================
--- trunk/img/kune-logos.svg 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/img/kune-logos.svg 2008-12-15 00:59:28 UTC (rev 994)
@@ -2,7 +2,7 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
+ 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"
@@ -13,12 +13,19 @@
height="297mm"
id="svg2531"
sodipodi:version="0.32"
- inkscape:version="0.45.1"
+ inkscape:version="0.46"
sodipodi:docbase="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img"
sodipodi:docname="kune-logos.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs2533">
+ <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="perspective2515" />
<linearGradient
inkscape:collect="always"
id="linearGradient2871">
@@ -169,15 +176,15 @@
style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
d="M 382.32888,356.181 C 381.58585,356.181 380.87165,356.18362 380.15497,356.23041 C 380.08806,356.24404 380.02464,356.26725 379.95734,356.27981 C 379.29019,356.40442 378.63198,356.51068 377.93165,356.52685 C 377.83464,356.54045 377.7317,356.51232 377.63521,356.52685 C 371.91916,357.3874 367.08967,359.86933 363.20833,363.98732 C 358.67562,368.77438 356.39016,374.50914 356.39015,381.181 C 356.39015,387.92772 358.67563,393.70144 363.20833,398.47349 C 368.115,403.61953 374.49013,406.18098 382.32888,406.181 C 386.48757,406.18098 390.48569,405.14772 394.2854,403.06835 C 398.08505,401.04884 401.38885,398.19052 404.21623,394.57033 L 395.6688,389.82725 C 391.98875,394.73393 387.46722,397.18891 382.08185,397.18891 C 378.34197,397.18891 374.98875,395.97572 372.10161,393.58219 C 369.16954,391.18868 367.70434,388.27328 367.70438,384.78772 L 406.7854,384.78772 L 406.7854,382.81143 C 406.78536,374.35939 403.92249,367.59136 398.23797,362.50511 C 393.45092,358.27164 388.14807,356.18106 382.32888,356.181 z M 200.60951,356.52685 L 200.60951,375.44977 L 193.98896,375.44977 L 193.98896,385.13357 L 200.60951,385.13357 L 200.60951,404.89642 L 210.68856,404.89642 L 210.68856,385.13357 L 216.76564,385.13357 L 229.16683,404.89642 L 241.12335,404.89642 L 224.47315,379.7976 L 240.38224,357.46558 L 228.17868,357.46558 L 215.87631,375.44977 L 210.68856,375.44977 L 210.68856,356.52685 L 200.60951,356.52685 z M 324.27552,356.52685 C 322.54049,356.83651 320.92381,357.34051 319.43362,358.10788 C 316.92042,359.45426 314.93633,361.22989 313.45536,363.44385 L 313.45536,357.46558 L 303.3269,357.46558 L 303.3269,404.89642 L 313.45536,404.89642 L 313.45536,378.31539 C 313.45535,374.51574 314.5276,371.60032 316.66683,369.52092 C 318.82096,367.4416 321.5519,366.4083 324.91781,366.40827 C 328.47813,366.4083 331.25846,367.36364 333.21821,369.32329 C 335.17785,371.28301 336.13317,374.35431 336.13323,378.51302 L 336.13323,404.89642 L 346.26169,404.89642 L 346.26169,376.2897 C 346.26164,370.4705 344.48602,365.66255 340.92572,361.86282 C 338.25543,359.01309 335.16572,357.23931 331.63718,356.52685 L 324.27552,356.52685 z M 247.49687,357.46558 L 247.49687,384.93594 C 247.49685,391.36851 249.6654,396.56938 254.0186,400.54859 C 258.05764,404.28845 263.06049,406.18098 268.93955,406.181 C 274.87841,406.18098 279.85588,404.28845 283.90991,400.54859 C 288.26306,396.56938 290.4316,391.36851 290.43165,384.93594 L 290.43165,357.46558 L 280.30319,357.46558 L 280.30319,384.04661 C 280.30314,387.54713 279.23089,390.39502 277.09173,392.59404 C 274.87769,394.86789 272.18573,396.00313 268.93955,396.00313 C 265.81301,396.00315 263.10017,394.85294 260.88619,392.59404 C 258.68714,390.32023 257.62529,387.48731 257.62532,384.04661 L 257.62532,357.46558 L 247.49687,357.46558 z M 381.0443,365.27191 C 384.3503,365.27196 387.23715,366.19874 389.69054,368.03871 C 392.06905,369.92362 393.82068,372.66955 394.9277,376.2897 L 367.70438,376.2897 C 368.49721,372.80418 370.1423,370.09724 372.59568,368.13752 C 374.97421,366.23771 377.78313,365.27196 381.0443,365.27191 z "
id="path2585"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-ydpi="399.59854" />
<g
id="g6020"
transform="matrix(0.347343,0,0,0.346901,118.4533,54.1211)"
- inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-ydpi="399.59854">
<path
style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
d="M 60.321717,411.99998 L 437.33633,411.99998"
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,7 +20,7 @@
* licensing(a)extjs.com
*
* http://extjs.com/license
- */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-l{}.kune-IconLabel-l img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-r{}.kune-IconLabel-r img{margin-left:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
+ */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px 5px 0;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-l{}.kune-IconLabel-l img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-r{}.kune-IconLabel-r img{margin-left:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
see: http://developer.yahoo.com/yui/fonts/ */.kune-ft10px{font-size:77%;}.kune-ft11px{font-size:85%;}.kune-ft12px{font-size:93%;}.kune-ft13px{font-size:100%;}.kune-ft14px{font-size:108%;}.kune-ft15px{font-size:116%;}.kune-ft16px{font-size:123.099998%;}.kune-ft17px{font-size:131%;}.kune-ft18px{font-size:138.5%;}.kune-ft19px{font-size:146.5%;}.kune-ft20px{font-size:153.899994%;}.kune-ft21px{font-size:161.600006%;}.kune-ft22px{font-size:167%;}.kune-ft23px{font-size:174%;}.kune-ft24px{font-size:182%;}.kune-ft25px{font-size:189%;}.kune-ft26px{font-size:197%;}/* Sitebar */.kune-SiteBarPanel .kune-IconHyperlink{white-space:nowrap;}.kune-SiteBarPanel .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.kune-SiteBarPanel .kune-IconHyperlink a:hover{text-decoration:underline;}.kune-SiteBarPanel .kune-IconHyperlink a:visited{color:#B3B3B3;}.kune-SiteBarPanel{margin-right:10px;height:16px;}.kune-SiteBarPanel .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.kune-SiteBarPanel .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.kune-SiteBarPanel .gwt-PushButton{cursor:pointer;}.kune-SiteBarPanel-Separator{color:#E4A374;margin:0 5px;}.kune-SiteBarPanel-SpaceSeparator{width:10px;}.kune-SiteMessagePanel{color:#250;position:absolute;z-index:10000;vertical-align:middle;}.kune-SiteMessagePanel .gwt-HTML{margin:15px 5px 15px 2px;}.kune-SiteMessagePanel .gwt-Image{margin:5px;}.kune-SiteMessagePanel-error{background-color:#FFB380;border:1px solid #F06;}.kune-SiteMessagePanel-veryimp{background-color:#FFD4AA;border:1px solid #F59;}.kune-SiteMessagePanel-imp{background-color:#FFE6D5;border:1px solid #DE87AA;}.kune-SiteMessagePanel-info{background-color:#E5FF80;border:1px solid #87DE87;}/* Workspace styles */.kune-WorkspacePanel{width:100%;background-color:#FFF;}.kune-WokspacePanel .Tab{}.kune-WorkspacePanel .GeneralHP{}.kune-WorkspacePanel .ContextPanel{width:100%;border-right:3px solid #DD8A3D;}.kune-GroupSummaryPanel{margin:5px 0 0 5px;width:100%;}.kune-GroupToolsBar{width:150px;}.kune-GroupToolsBar-itemSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a{color:#FFF;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a:hover{text-decoration:none;}.kune-GroupToolsBar-itemNotSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a{color:green;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a:hover{text-decoration:none;}/* Content titles */.kune-ContentToolBarPanel{background-color:#F2F2F2;padding:2px;height:24px;vertical-align:middle;}.kune-ContentBottomBar{vertical-align:middle;height:24px;}.kune-ContentBottomBar .gwt-Image{margin-left:5px;cursor:pointer;float:left;}.kune-ContentBottomBar .gwt-Label a{}/* Main Content & Context */.kune-WorkspacePanel-Content{background-color:#FCFCFC;width:100%;height:100%;}.kune-WorkspacePanel-Content .main-content{margin:7px 5px 5px 10px;}.kune-WorkspacePanel-Context{background-color:#CFA;width:100%;height:100%;}.kune-NavigationBar{width:100%;}.kune-NavigationBar .topBar{background-color:#ececec;background:#ececec;border-bottom:1px solid #e3dbdb;vertical-align:middle;}.kune-NavigationBar .topBar .gwt-PushButton{margin:1px 3px 1px 0;}.kune-NavigationBar .topBar .gwt-Label{vertical-align:middle;}.kune-NavigationBar .kune-topBar-iconBar{margin:2px 0 2px 5px;}.kune-NavigationBar .kune-ContextItemsPanel-LabelLink{/* text-decoration: underline; */color:green;cursor:pointer;margin-left:3px;}/*
.topBar .gwt-PushButton-up-disabled {
filter: alpha(opacity = 20);
@@ -35,10 +35,10 @@
}
*/.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;overflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000;
background-color: #FFF; */border:1px solid #4D4D4D;background-color:#FFF;margin:5px 0 5px 10px;}.gwt-RichTextToolbar{/* background-color: #F2F2F2;
- padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-bottom-color:#FFF;border-bottom-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{/* line-height: 24px; */color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
+ padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:1px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-bottom-color:#FFF;border-bottom-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{/* line-height: 24px; */color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
.x-tree-node a span, .x-dd-drag-ghost a span {
color:#000000;
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-15 00:59:28 UTC (rev 994)
@@ -40,7 +40,7 @@
.k-sitebar .gwt-TextBox {
border: 1px solid #E4A374;
margin: 0 15px 0 3px;
- padding-left: 3px;
+ padding-left: 1px;
color: #B3B3B3;
}
@@ -798,6 +798,7 @@
margin-top: 4px;
margin-left: 5px;
cursor: pointer;
+ overflow: hidden;
}
.k-tsp-tag {
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-12-15 00:59:28 UTC (rev 994)
@@ -2,7 +2,7 @@
background-color: #FFF;
color: #000;
font-family: arial, sans;
- margin: 5px 5px 5px 5px;
+ margin: 5px 5px 0 5px;
}
/* Global styles */
Added: trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,43 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.platf.client.app;
+
+import com.calclab.suco.client.ioc.Container;
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.ioc.decorator.ProviderCollection;
+import com.calclab.suco.client.ioc.decorator.Singleton;
+
+public class TextEditorInsertElementGroup extends ProviderCollection {
+
+ public TextEditorInsertElementGroup(final Container container) {
+ super(container, Singleton.instance);
+ }
+
+ public void createAll() {
+ for (final Provider<?> p : getProviders()) {
+ p.get();
+ }
+ }
+
+ public void resetAll() {
+ for (final Provider<?> p : getProviders()) {
+ // (TextEditorInsertAbstractView) p.get().get).clear();
+ }
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,6 +20,7 @@
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
import org.ourproject.kune.platf.client.app.ToolGroup;
import com.calclab.suco.client.ioc.module.AbstractModule;
@@ -31,5 +32,6 @@
registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container));
registerDecorator(ToolGroup.class, new ToolGroup(container));
registerDecorator(EntityOptionsGroup.class, new EntityOptionsGroup(container));
+ registerDecorator(TextEditorInsertElementGroup.class, new TextEditorInsertElementGroup(container));
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -43,6 +43,7 @@
import org.ourproject.kune.platf.client.app.ApplicationDefault;
import org.ourproject.kune.platf.client.app.HistoryWrapper;
import org.ourproject.kune.platf.client.app.HistoryWrapperDefault;
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
import org.ourproject.kune.platf.client.app.ToolGroup;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
@@ -78,6 +79,18 @@
import org.ourproject.kune.workspace.client.editor.TextEditor;
import org.ourproject.kune.workspace.client.editor.TextEditorPanel;
import org.ourproject.kune.workspace.client.editor.TextEditorPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElementPanel;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElementPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmail;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmailPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmailPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExt;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExtPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExtPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocal;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocalPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocalPresenter;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -340,7 +353,8 @@
@Override
public UserLiveSearcher create() {
final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter();
- final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, i18n);
+ final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, i18n,
+ $(FileDownloadUtils.class));
presenter.init(view);
return presenter;
}
@@ -350,7 +364,8 @@
@Override
public GroupLiveSearcher create() {
final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter();
- final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, i18n);
+ final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, i18n,
+ $(FileDownloadUtils.class));
presenter.init(view);
return presenter;
}
@@ -372,6 +387,57 @@
}
});
+ register(Singleton.class, new Factory<TextEditorInsertElement>(TextEditorInsertElement.class) {
+ @Override
+ public TextEditorInsertElement create() {
+ final TextEditorInsertElementPresenter presenter = new TextEditorInsertElementPresenter();
+ final TextEditorInsertElementPanel panel = new TextEditorInsertElementPanel(presenter,
+ $(WorkspaceSkeleton.class), $(Images.class), $(I18nTranslationService.class),
+ $(TextEditorInsertElementGroup.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(TextEditorInsertElementGroup.class, new Factory<TextEditorInsertLinkLocal>(
+ TextEditorInsertLinkLocal.class) {
+ @Override
+ public TextEditorInsertLinkLocal create() {
+ final TextEditorInsertLinkLocalPresenter presenter = new TextEditorInsertLinkLocalPresenter(
+ $(TextEditorInsertElement.class));
+ final TextEditorInsertLinkLocalPanel panel = new TextEditorInsertLinkLocalPanel(presenter,
+ $(WorkspaceSkeleton.class), $(I18nTranslationService.class), $(FileDownloadUtils.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(TextEditorInsertElementGroup.class,
+ new Factory<TextEditorInsertLinkExt>(TextEditorInsertLinkExt.class) {
+ @Override
+ public TextEditorInsertLinkExt create() {
+ final TextEditorInsertLinkExtPresenter presenter = new TextEditorInsertLinkExtPresenter(
+ $(TextEditorInsertElement.class));
+ final TextEditorInsertLinkExtPanel panel = new TextEditorInsertLinkExtPanel(presenter,
+ $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(TextEditorInsertElementGroup.class, new Factory<TextEditorInsertLinkEmail>(
+ TextEditorInsertLinkEmail.class) {
+ @Override
+ public TextEditorInsertLinkEmail create() {
+ final TextEditorInsertLinkEmailPresenter presenter = new TextEditorInsertLinkEmailPresenter(
+ $(TextEditorInsertElement.class));
+ final TextEditorInsertLinkEmailPanel panel = new TextEditorInsertLinkEmailPanel(presenter,
+ $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
@Override
public TextEditor create() {
@@ -384,7 +450,8 @@
$(I18nUITranslationService.class), $(StateManager.class), $(SiteSignOutLink.class),
$(DeferredCommandWrapper.class));
final TextEditorPanel panel = new TextEditorPanel(presenter, $(I18nTranslationService.class),
- $(WorkspaceSkeleton.class), $(ColorWebSafePalette.class), false);
+ $(WorkspaceSkeleton.class), $(ColorWebSafePalette.class), $(TextEditorInsertElement.class),
+ false);
presenter.init(panel);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -238,9 +238,10 @@
register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
@Override
public SiteSearch create() {
- final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class));
+ final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class),
+ $(I18nTranslationService.class));
final SiteSearchPanel panel = new SiteSearchPanel(presenter, $(WorkspaceSkeleton.class),
- $(I18nUITranslationService.class), $(Images.class));
+ $(Images.class));
presenter.init(panel);
return presenter;
}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -1,176 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.platf.client.ui;
-
-import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.core.RegionPosition;
-import com.gwtext.client.widgets.Panel;
-import com.gwtext.client.widgets.Toolbar;
-import com.gwtext.client.widgets.layout.BorderLayout;
-import com.gwtext.client.widgets.layout.BorderLayoutData;
-
-@Deprecated
-public class DefaultBorderLayout {
-
- public enum Position {
- NORTH, CENTER, SOUTH, EAST, WEST
- }
-
- public static final int DEF_TOOLBAR_HEIGHT = 26;
-
- private static final int NO_SIZE = -666;
-
- private static RegionPosition[] regionPositions = new RegionPosition[] { RegionPosition.NORTH,
- RegionPosition.CENTER, RegionPosition.SOUTH, RegionPosition.EAST, RegionPosition.WEST };
-
- private final Panel mainPanel;
-
- public DefaultBorderLayout() {
- mainPanel = new Panel();
- mainPanel.setLayout(new BorderLayout());
- mainPanel.setBorder(false);
- }
-
- public DefaultBorderLayout(String title) {
- this();
- mainPanel.setTitle(title);
- }
-
- public void add(final Panel panel, final Position position) {
- add(panel, position, false);
- }
-
- public void add(final Panel panel, final Position position, final boolean split) {
- add(panel, position, split, NO_SIZE);
- }
-
- public void add(final Panel panel, final Position position, final boolean split, final int size) {
- final RegionPosition regionPosition = regionPositions[position.ordinal()];
- final BorderLayoutData borderLayoutData = new BorderLayoutData(regionPosition);
- borderLayoutData.setSplit(split);
- if (split) {
- borderLayoutData.setUseSplitTips(true);
- borderLayoutData.setCollapseModeMini(true);
- }
- if (size != NO_SIZE) {
- switch (position) {
- case NORTH:
- case SOUTH:
- panel.setHeight(size);
- break;
- case EAST:
- case WEST:
- panel.setWidth(size);
- }
- }
- mainPanel.add(panel, borderLayoutData);
- doLayoutIfNeeded();
- }
-
- public void add(final Panel panel, final Position position, final int size) {
- add(panel, position, false, size);
- }
-
- public void add(final Panel panel, final Widget widget) {
- panel.add(widget);
- if (panel.isRendered()) {
- panel.syncSize();
- panel.doLayout(false);
- }
- doLayoutIfNeeded();
- }
-
- public void addStyle(final String style) {
- mainPanel.addClass(style);
- }
-
- public Toolbar createBottomBar(final Panel panel) {
- return createBottomBar(panel, null);
- }
-
- public Toolbar createBottomBar(final Panel panel, final String cssStyle) {
- return createBottomBar(panel, cssStyle, null);
- }
-
- public Toolbar createBottomBar(final Panel panel, final String cssStyle, final String id) {
- final Toolbar bottomToolbar = new Toolbar();
- if (id != null) {
- bottomToolbar.setId(id);
- }
- bottomToolbar.setHeight(DEF_TOOLBAR_HEIGHT);
- if (cssStyle != null) {
- bottomToolbar.setCls(cssStyle);
- }
- panel.setBottomToolbar(bottomToolbar);
- return bottomToolbar;
- }
-
- public Toolbar createTopBar(final Panel panel) {
- return createTopBar(panel, null);
- }
-
- public Toolbar createTopBar(final Panel panel, final String cssStyle) {
- return createTopBar(panel, cssStyle);
- }
-
- public Toolbar createTopBar(final Panel panel, final String cssStyle, final String id) {
- final Toolbar topToolbar = new Toolbar();
- topToolbar.setHeight(DEF_TOOLBAR_HEIGHT);
- if (id != null) {
- topToolbar.setId(id);
- }
- if (cssStyle != null) {
- topToolbar.setCls(cssStyle);
- }
- panel.setTopToolbar(topToolbar);
- return topToolbar;
- }
-
- public void doLayoutIfNeeded() {
- if (mainPanel.isRendered()) {
- mainPanel.doLayout(false);
- }
- }
-
- public Panel getPanel() {
- return mainPanel;
- }
-
- public void removeStyle(final String style) {
- mainPanel.removeClass(style);
- }
-
- public void setBorder(final boolean border) {
- mainPanel.setBorder(border);
- }
-
- public void setPanel(final Panel panel, final Widget widget) {
- panel.clear();
- add(panel, widget);
- doLayoutIfNeeded();
- }
-
- public void setWidth(int width) {
- mainPanel.setWidth(width);
- }
-
- public void syncSize() {
- mainPanel.syncSize();
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -19,16 +19,32 @@
*/
package org.ourproject.kune.platf.client.ui.dialogs;
+import com.gwtext.client.core.Ext;
import com.gwtext.client.core.Position;
import com.gwtext.client.widgets.Window;
public class BasicDialog extends Window {
public BasicDialog(final String caption, final boolean modal) {
- this(caption, modal, false);
+ this(Ext.generateId(), caption, modal, false);
}
- public BasicDialog(final String caption, final boolean modal, final boolean autoScroll) {
+ public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
+ final int height) {
+ this(Ext.generateId(), caption, modal, autoScroll, width, height, width, height);
+ }
+
+ public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
+ final int height, final int minWidth, final int minHeight) {
+ this(Ext.generateId(), caption, modal, autoScroll, width, height, minWidth, minHeight);
+ }
+
+ public BasicDialog(final String id, final String caption, final boolean modal) {
+ this(id, caption, modal, false);
+ }
+
+ public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll) {
+ setId(id);
setBorder(false);
setAutoWidth(true);
// Param values
@@ -45,14 +61,14 @@
setButtonAlign(Position.RIGHT);
}
- public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
- final int height) {
- this(caption, modal, autoScroll, width, height, width, height);
+ public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll,
+ final int width, final int height) {
+ this(id, caption, modal, autoScroll, width, height, width, height);
}
- public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
- final int height, final int minWidth, final int minHeight) {
- this(caption, modal, autoScroll);
+ public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll,
+ final int width, final int height, final int minWidth, final int minHeight) {
+ this(id, caption, modal, autoScroll);
setAutoWidth(false);
// Param values
setWidth(width);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -32,18 +32,20 @@
private final Button cancel;
private final Button firstButton;
- public BasicDialogExtended(final String title, final boolean modal, final boolean autoscroll, final int width,
- final int heigth, final String icon, final String firstButtonTitle, final String cancelButtonTitle,
- final Listener0 onFirstButtonClick, Listener0 onCancelButtonClick, int tabIndexStart) {
- this(title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(), cancelButtonTitle,
- Ext.generateId(), onFirstButtonClick, onCancelButtonClick, tabIndexStart);
+ public BasicDialogExtended(final String dialogId, final String title, final boolean modal,
+ final boolean autoscroll, final int width, final int heigth, final String icon,
+ final String firstButtonTitle, final String cancelButtonTitle, final Listener0 onFirstButtonClick,
+ Listener0 onCancelButtonClick, int tabIndexStart) {
+ this(dialogId, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
+ cancelButtonTitle, Ext.generateId(), onFirstButtonClick, onCancelButtonClick, tabIndexStart);
}
- public BasicDialogExtended(final String title, final boolean modal, final boolean autoscroll, final int width,
- final int heigth, final String icon, final String firstButtonTitle, final String firstButtonId,
- final String cancelButtonTitle, final String cancelButtonId, final Listener0 onFirstButtonClick,
- final Listener0 onCancelButtonClick, int tabIndexStart) {
- super(title, modal, autoscroll, width, heigth);
+ public BasicDialogExtended(final String dialogId, final String title, final boolean modal,
+ final boolean autoscroll, final int width, final int heigth, final String icon,
+ final String firstButtonTitle, final String firstButtonId, final String cancelButtonTitle,
+ final String cancelButtonId, final Listener0 onFirstButtonClick, final Listener0 onCancelButtonClick,
+ int tabIndexStart) {
+ super(dialogId, title, modal, autoscroll, width, heigth);
setLayout(new FitLayout());
setCollapsible(false);
setButtonAlign(Position.RIGHT);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -18,7 +18,9 @@
*
*/package org.ourproject.kune.platf.client.ui.dialogs;
+import com.allen_sauer.gwt.log.client.Log;
import com.gwtext.client.core.Position;
+import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.FieldSet;
import com.gwtext.client.widgets.form.FormPanel;
@@ -61,6 +63,10 @@
form.add(label);
}
+ public void addButton(final Button button) {
+ form.addButton(button);
+ }
+
public void addStyleName(final String cls) {
form.addStyleName(cls);
}
@@ -69,7 +75,7 @@
return form.getForm().findField(id);
}
- public FormPanel getForm() {
+ public FormPanel getFormPanel() {
return form;
}
@@ -82,6 +88,7 @@
}
public void reset() {
+ Log.info("Reset------------------");
form.getForm().reset();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -25,9 +25,10 @@
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
public class InfoDialog extends BasicDialog {
- public InfoDialog(final String title, final String header, final String text, final String okButtonText,
- String okButtonId, final boolean modal, final boolean autoScroll, final int width, final int height) {
- super(title, modal, autoScroll, width, height);
+ public InfoDialog(final String dialogId, final String title, final String header, final String text,
+ final String okButtonText, String okButtonId, final boolean modal, final boolean autoScroll,
+ final int width, final int height) {
+ super(dialogId, title, modal, autoScroll, width, height);
final Button okButton = new Button(okButtonText);
okButton.setId(okButtonId);
okButton.addListener(new ButtonListenerAdapter() {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -38,11 +38,11 @@
private final I18nTranslationService i18n;
private final Button nextButton;
- public WizardDialog(final String caption, final boolean modal, final boolean minimizable, final int width,
- final int height, final int minWidth, final int minHeight, final WizardListener listener,
- final I18nTranslationService i18n, String dialogId, final String backId, final String nextId,
- final String finishId, final String cancelId, final String closeId) {
- dialog = new BasicDialog(caption, modal, false, width, height, minWidth, minHeight);
+ public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
+ final int width, final int height, final int minWidth, final int minHeight, final WizardListener listener,
+ final I18nTranslationService i18n, final String backId, final String nextId, final String finishId,
+ final String cancelId, final String closeId) {
+ dialog = new BasicDialog(dialogId, caption, modal, false, width, height, minWidth, minHeight);
this.i18n = i18n;
dialog.setCollapsible(minimizable);
dialog.setShadow(true);
@@ -95,10 +95,10 @@
});
}
- public WizardDialog(final String caption, final boolean modal, final boolean minimizable, final int width,
- final int height, final WizardListener listener, final I18nTranslationService i18n, String dialogId,
+ public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
+ final int width, final int height, final WizardListener listener, final I18nTranslationService i18n,
final String backId, final String nextId, final String finishId, final String cancelId, final String closeId) {
- this(caption, modal, minimizable, width, height, width, height, listener, i18n, dialogId, backId, nextId,
+ this(dialogId, caption, modal, minimizable, width, height, width, height, listener, i18n, backId, nextId,
finishId, cancelId, closeId);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -21,6 +21,7 @@
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
import org.ourproject.kune.workspace.client.skel.Toolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -45,7 +46,8 @@
private final WorkspaceSkeleton ws;
public TextEditorPanel(final TextEditorPresenter presenter, final I18nTranslationService i18n,
- final WorkspaceSkeleton ws, final ColorWebSafePalette colorPalette, boolean permitHtmlButton) {
+ final WorkspaceSkeleton ws, final ColorWebSafePalette colorPalette,
+ final TextEditorInsertElement textEditorInsertElement, boolean permitHtmlButton) {
this.presenter = presenter;
this.i18n = i18n;
this.ws = ws;
@@ -60,7 +62,8 @@
final Toolbar editorTopBar = new Toolbar();
editorTopBar.getPanel().setWidth("auto");
- textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, colorPalette, i18n, permitHtmlButton);
+ textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, colorPalette, i18n, permitHtmlButton,
+ textEditorInsertElement);
editorTopBar.add(textEditorToolbar);
editorTopBar.addStyleName("k-toolbar-bottom-line");
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -21,15 +21,11 @@
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.KuneUiUtils;
-import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
-import org.ourproject.kune.platf.client.ui.form.FileUploadFormSample;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageChooser;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageChooserCallback;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageData;
import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
-import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
import com.calclab.suco.client.listener.Listener;
+import com.calclab.suco.client.listener.Listener2;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
@@ -44,14 +40,6 @@
import com.google.gwt.user.client.ui.ToggleButton;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.data.ArrayReader;
-import com.gwtext.client.data.DateFieldDef;
-import com.gwtext.client.data.FieldDef;
-import com.gwtext.client.data.IntegerFieldDef;
-import com.gwtext.client.data.MemoryProxy;
-import com.gwtext.client.data.RecordDef;
-import com.gwtext.client.data.Store;
-import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.MessageBox.PromptCallback;
@@ -68,8 +56,19 @@
*/
private class EventListener implements ClickListener, ChangeListener, KeyboardListener {
- private ImageChooser ic;
+ public static final String TEXT_EDITOR_TOOLBAR_INS_IMG = "k-textedtol-img";
+ // private ImageChooser ic;
+ private final TextEditorInsertElement insertElement;
+ public EventListener(TextEditorInsertElement insertElement) {
+ this.insertElement = insertElement;
+ insertElement.onInsert(new Listener2<String, String>() {
+ public void onEvent(String name, String url) {
+ extended.createLink(url);
+ }
+ });
+ }
+
public void onChange(final Widget sender) {
fireEdit();
}
@@ -100,14 +99,7 @@
} else if (sender == insertImage) {
showImagePanel();
} else if (sender == createLink) {
- MessageBox.prompt("Insert a link", "Enter a link URL:", new PromptCallback() {
- public void execute(final String btnID, final String text) {
- if (btnID.equals("ok") && text != null) {
- extended.createLink(text);
- }
- }
- });
- showLinkPanel();
+ insertElement.show();
} else if (sender == backColor) {
colorPalette.show(sender.getAbsoluteLeft(), sender.getAbsoluteTop() + 20, new Listener<String>() {
public void onEvent(final String color) {
@@ -171,81 +163,83 @@
}
}
- private Object[][] getData() {
- return new Object[][] {
- // new Object[]{"Pirates of the Caribbean", new Integer(2120), new
- // Long(1180231870000l), "images/view/carribean.jpg"},
- // new Object[]{"Resident Evil", new Integer(2120), new
- // Long(1180231870000l), "images/view/resident_evil.jpg"},
- // new Object[]{"Blood Diamond", new Integer(2120), new
- // Long(1180231870000l), "images/view/blood_diamond.jpg"},
- // new Object[]{"No Reservations", new Integer(2120), new
- // Long(1180231870000l), "images/view/no_reservations.jpg"},
- // new Object[]{"Casino Royale", new Integer(2120), new
- // Long(1180231870000l), "images/view/casino_royale.jpg"},
- // new Object[]{"Good Shepherd", new Integer(2120), new
- // Long(1180231870000l), "images/view/good_shepherd.jpg"},
- // new Object[]{"Ghost Rider", new Integer(2120), new
- // Long(1180231870000l), "images/view/ghost_rider.jpg"},
- // new Object[]{"Batman Begins", new Integer(2120), new
- // Long(1180231870000l), "images/view/batman_begins.jpg"},
- // new Object[]{"Last Samurai", new Integer(2120), new
- // Long(1180231870000l), "images/view/last_samurai.jpg"},
- // new Object[]{"Italian Job", new Integer(2120), new
- // Long(1180231870000l), "images/view/italian_job.jpg"},
- // new Object[]{"Mission Impossible III", new Integer(2120), new
- // Long(1180231870000l), "images/view/mi3.jpg"},
- // new Object[]{"Mr & Mrs Smith", new Integer(2120), new
- // Long(1180231870000l), "images/view/smith.jpg"},
- // new Object[]{"Inside Man", new Integer(2120), new
- // Long(1180231870000l), "images/view/inside_man.jpg"},
- // new Object[]{"The Island", new Integer(2120), new
- // Long(1180231870000l), "images/view/island.jpg"}
- };
- }
+ // private Object[][] getData() {
+ // return new Object[][] {
+ // new Object[]{"Pirates of the Caribbean", new Integer(2120), new
+ // Long(1180231870000l), "images/view/carribean.jpg"},
+ // new Object[]{"Resident Evil", new Integer(2120), new
+ // Long(1180231870000l), "images/view/resident_evil.jpg"},
+ // new Object[]{"Blood Diamond", new Integer(2120), new
+ // Long(1180231870000l), "images/view/blood_diamond.jpg"},
+ // new Object[]{"No Reservations", new Integer(2120), new
+ // Long(1180231870000l), "images/view/no_reservations.jpg"},
+ // new Object[]{"Casino Royale", new Integer(2120), new
+ // Long(1180231870000l), "images/view/casino_royale.jpg"},
+ // new Object[]{"Good Shepherd", new Integer(2120), new
+ // Long(1180231870000l), "images/view/good_shepherd.jpg"},
+ // new Object[]{"Ghost Rider", new Integer(2120), new
+ // Long(1180231870000l), "images/view/ghost_rider.jpg"},
+ // new Object[]{"Batman Begins", new Integer(2120), new
+ // Long(1180231870000l), "images/view/batman_begins.jpg"},
+ // new Object[]{"Last Samurai", new Integer(2120), new
+ // Long(1180231870000l), "images/view/last_samurai.jpg"},
+ // new Object[]{"Italian Job", new Integer(2120), new
+ // Long(1180231870000l), "images/view/italian_job.jpg"},
+ // new Object[]{"Mission Impossible III", new Integer(2120), new
+ // Long(1180231870000l), "images/view/mi3.jpg"},
+ // new Object[]{"Mr & Mrs Smith", new Integer(2120), new
+ // Long(1180231870000l), "images/view/smith.jpg"},
+ // new Object[]{"Inside Man", new Integer(2120), new
+ // Long(1180231870000l), "images/view/inside_man.jpg"},
+ // new Object[]{"The Island", new Integer(2120), new
+ // Long(1180231870000l), "images/view/island.jpg"}
+ // };
+ // }
private void showImagePanel() {
- // i18n:
- final FileUploadFormSample fileUploadFormSample = new FileUploadFormSample();
- final BasicDialog dialog = new BasicDialog("Insert image", false, true, 400, 400);
- dialog.add(fileUploadFormSample);
- dialog.show();
-
- if (ic == null) {
- final MemoryProxy dataProxy = new MemoryProxy(getData());
- final RecordDef recordDef = new RecordDef(new FieldDef[] { new StringFieldDef("name"),
- new IntegerFieldDef("size"), new DateFieldDef("lastmod", "timestamp"),
- new StringFieldDef("url") });
- final ArrayReader reader = new ArrayReader(recordDef);
- final Store store = new Store(dataProxy, reader, true);
- store.load();
-
- ic = new ImageChooser("Image Chooser", 515, 400, store);
- }
- Site.important("This is in development and very experimental...");
- ic.show(new ImageChooserCallback() {
- public void onImageSelection(final ImageData data) {
- // Element el = DomHelper.append("images",
- // Format.format("<img src='{0}'
- // style='margin:20px;visibility:hidden;'/>",
- // data.getUrl()));
- // ExtElement extEl = new ExtElement(el);
- // extEl.show(true).frame();
- }
- });
- // MessageBox.prompt("Insert image", "Enter an image URL:", new
- // PromptCallback() {
- // public void execute(final String btnID, final String text) {
- // if (btnID.equals("ok") && text != null) {
- // extended.insertImage(text);
+ // // i18n:
+ // final FileUploadFormSample fileUploadFormSample = new
+ // FileUploadFormSample();
+ // final BasicDialog dialog = new
+ // BasicDialog(TEXT_EDITOR_TOOLBAR_INS_IMG, "Insert image", false,
+ // true, 400,
+ // 400);
+ // dialog.add(fileUploadFormSample);
+ // dialog.show();
+ //
+ // if (ic == null) {
+ // final MemoryProxy dataProxy = new MemoryProxy(getData());
+ // final RecordDef recordDef = new RecordDef(new FieldDef[] { new
+ // StringFieldDef("name"),
+ // new IntegerFieldDef("size"), new DateFieldDef("lastmod",
+ // "timestamp"),
+ // new StringFieldDef("url") });
+ // final ArrayReader reader = new ArrayReader(recordDef);
+ // final Store store = new Store(dataProxy, reader, true);
+ // store.load();
+ //
+ // ic = new ImageChooser("Image Chooser", 515, 400, store);
// }
+ // Site.important("This is in development and very experimental...");
+ // ic.show(new ImageChooserCallback() {
+ // public void onImageSelection(final ImageData data) {
+ // // Element el = DomHelper.append("images",
+ // // Format.format("<img src='{0}'
+ // // style='margin:20px;visibility:hidden;'/>",
+ // // data.getUrl()));
+ // // ExtElement extEl = new ExtElement(el);
+ // // extEl.show(true).frame();
// }
// });
+ MessageBox.prompt("Insert image", "Enter an image URL:", new PromptCallback() {
+ public void execute(final String btnID, final String text) {
+ if (btnID.equals("ok") && text != null) {
+ extended.insertImage(text);
+ }
+ }
+ });
}
-
- private void showLinkPanel() {
- }
}
private static final RichTextArea.FontSize[] fontSizesConstants = new RichTextArea.FontSize[] {
@@ -254,7 +248,7 @@
RichTextArea.FontSize.XX_LARGE };
private final TextEditorImages images = (TextEditorImages) GWT.create(TextEditorImages.class);
- private final EventListener listener = new EventListener();
+ private final EventListener listener;
private final RichTextArea richText;
private final RichTextArea.BasicFormatter basic;
private final RichTextArea.ExtendedFormatter extended;
@@ -294,13 +288,15 @@
* the rich text area to be controlled
*/
public TextEditorToolbar(final RichTextArea richText, final TextEditorPresenter presenter,
- final ColorWebSafePalette colorPalette, final I18nTranslationService i18n, boolean permitEditHtml) {
+ final ColorWebSafePalette colorPalette, final I18nTranslationService i18n, boolean permitEditHtml,
+ TextEditorInsertElement insertElement) {
this.richText = richText;
this.colorPalette = colorPalette;
this.i18n = i18n;
this.basic = richText.getBasicFormatter();
this.extended = richText.getExtendedFormatter();
this.presenter = presenter;
+ listener = new EventListener(insertElement);
initWidget(outer);
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,13 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.workspace.client.options.AbstractOptions;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public interface TextEditorInsertElement extends AbstractOptions {
+
+ void fireOnInsert(String name, String link);
+
+ void onInsert(Listener2<String, String> slot);
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,35 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.workspace.client.options.AbstractOptionsPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public class TextEditorInsertElementPanel extends AbstractOptionsPanel implements TextEditorInsertElementView {
+ public static final String TEXT_EDT_INSERT_DIALOG = "k-ted-iep-dialog";
+ public static final String TEXT_EDT_INSERT_DIALOG_ERROR_ID = "k-ted-iep-dialog-err";
+ private final TextEditorInsertElementGroup textEditorInsertElementGroup;
+
+ public TextEditorInsertElementPanel(final TextEditorInsertElementPresenter presenter, final WorkspaceSkeleton ws,
+ Images images, I18nTranslationService i18n, final TextEditorInsertElementGroup textEditorInsertElementGroup) {
+ super(TEXT_EDT_INSERT_DIALOG, i18n.tWithNT("Insert an element",
+ "Option in a text editor to insert links and other elements"), 380, 170, 380, 170, images,
+ TEXT_EDT_INSERT_DIALOG_ERROR_ID);
+ // super.setIconCls("k-options-icon");
+ this.textEditorInsertElementGroup = textEditorInsertElementGroup;
+ super.addHideListener(new Listener0() {
+ public void onEvent() {
+ textEditorInsertElementGroup.resetAll();
+ }
+ });
+ }
+
+ @Override
+ public void createAndShow() {
+ textEditorInsertElementGroup.createAll();
+ super.createAndShow();
+ }
+}
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.workspace.client.options.AbstractOptionsPresenter;
+
+import com.calclab.suco.client.listener.Event2;
+import com.calclab.suco.client.listener.Listener2;
+
+public class TextEditorInsertElementPresenter extends AbstractOptionsPresenter implements TextEditorInsertElement {
+
+ private final Event2<String, String> onInsert;
+
+ public TextEditorInsertElementPresenter() {
+ this.onInsert = new Event2<String, String>("onInsert");
+ }
+
+ public void fireOnInsert(String name, String link) {
+ onInsert.fire(name, link);
+ super.hide();
+ }
+
+ public void init(TextEditorInsertElementView view) {
+ super.init(view);
+ }
+
+ public void onInsert(final Listener2<String, String> slot) {
+ onInsert.add(slot);
+ }
+}
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,8 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.options.AbstractOptionsView;
+
+public interface TextEditorInsertElementView extends AbstractOptionsView, View {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.editor.insert.abstractlink;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+
+public class TextEditorInsertAbstractPresenter {
+
+ private TextEditorInsertAbstractView view;
+ private final TextEditorInsertElement editorInsertElement;
+
+ public TextEditorInsertAbstractPresenter(TextEditorInsertElement editorInsertElement) {
+ this.editorInsertElement = editorInsertElement;
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(TextEditorInsertAbstractView view) {
+ this.view = view;
+ editorInsertElement.addOptionTab(view);
+ }
+
+ public void onInsert(String name, String link) {
+ editorInsertElement.fireOnInsert(name, link);
+ view.clear();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,9 @@
+package org.ourproject.kune.workspace.client.editor.insert.abstractlink;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface TextEditorInsertAbstractView extends View {
+
+ void clear();
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+public interface TextEditorInsertLinkEmail {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,46 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.form.VType;
+
+public class TextEditorInsertLinkEmailPanel extends DefaultForm implements TextEditorInsertLinkEmailView {
+
+ public static final String EMAIL_FIELD = "k-teilep-email-field";
+ private final TextField emailField;
+
+ public TextEditorInsertLinkEmailPanel(final TextEditorInsertLinkEmailPresenter presenter,
+ I18nTranslationService i18n) {
+ super.setAutoWidth(true);
+ super.setAutoHeight(true);
+ emailField = new TextField();
+ emailField.setTabIndex(4);
+ emailField.setFieldLabel(i18n.t("Email"));
+ emailField.setName(EMAIL_FIELD);
+ emailField.setVtype(VType.EMAIL);
+ emailField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
+ emailField.setAllowBlank(false);
+ emailField.setValidationEvent(false);
+ emailField.setId(EMAIL_FIELD);
+ add(emailField);
+ Button insert = new Button(i18n.t("Insert"));
+ insert.addListener(new ButtonListenerAdapter() {
+ @Override
+ public void onClick(Button button, EventObject e) {
+ if (getFormPanel().getForm().isValid()) {
+ presenter.onInsert("", "mailto://" + emailField.getRawValue());
+ }
+ }
+ });
+ addButton(insert);
+ }
+
+ public void clear() {
+ super.reset();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkEmailPresenter extends TextEditorInsertAbstractPresenter implements
+ TextEditorInsertLinkEmail {
+
+ public TextEditorInsertLinkEmailPresenter(TextEditorInsertElement editorInsertElement) {
+ super(editorInsertElement);
+ }
+
+ public void init(TextEditorInsertLinkEmailView view) {
+ super.init(view);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkEmailView extends TextEditorInsertAbstractView {
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+public interface TextEditorInsertLinkExt {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,48 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.form.VType;
+
+public class TextEditorInsertLinkExtPanel extends DefaultForm implements TextEditorInsertLinkExtView {
+
+ public static final String LINK_FIELD = "k-teilep-link-f";
+ private final TextField linkField;
+
+ public TextEditorInsertLinkExtPanel(final TextEditorInsertLinkExtPresenter presenter,
+ final I18nTranslationService i18n) {
+ super.setAutoWidth(true);
+ super.setAutoHeight(true);
+ linkField = new TextField();
+ linkField.setTabIndex(1);
+ linkField.setFieldLabel(i18n.t("External link (URL)"));
+ linkField.setVtype(VType.URL);
+ linkField.setName(LINK_FIELD);
+ linkField.setWidth(DEF_FIELD_WIDTH);
+ linkField.setAllowBlank(false);
+ linkField.setMinLength(3);
+ linkField.setMaxLength(250);
+ linkField.setValidationEvent(false);
+ linkField.setId(LINK_FIELD);
+ add(linkField);
+ Button insert = new Button(i18n.t("Insert"));
+ insert.addListener(new ButtonListenerAdapter() {
+ @Override
+ public void onClick(Button button, EventObject e) {
+ if (getFormPanel().getForm().isValid()) {
+ presenter.onInsert("", linkField.getRawValue());
+ }
+ }
+ });
+ addButton(insert);
+ }
+
+ public void clear() {
+ super.reset();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkExtPresenter extends TextEditorInsertAbstractPresenter implements
+ TextEditorInsertLinkExt {
+
+ public TextEditorInsertLinkExtPresenter(TextEditorInsertElement editorInsertElement) {
+ super(editorInsertElement);
+ }
+
+ public void init(TextEditorInsertLinkExtView view) {
+ super.init(view);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkExtView extends TextEditorInsertAbstractView {
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+public interface TextEditorInsertLinkLocal {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,27 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
+import org.ourproject.kune.workspace.client.search.AbstractLiveSearcherPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.listener.Listener;
+
+public class TextEditorInsertLinkLocalPanel extends AbstractLiveSearcherPanel implements TextEditorInsertLinkLocalView {
+
+ private static final String DATA_PROXY_URL = "/kune/json/ContentJSONService/search";
+
+ public TextEditorInsertLinkLocalPanel(final TextEditorInsertLinkLocalPresenter presenter,
+ final WorkspaceSkeleton ws, I18nTranslationService i18n, FileDownloadUtils downloadUtils) {
+ super(i18n, TEMPLATE_TEXT_PREFIX + downloadUtils.getLogoImageUrl(new StateToken("{shortName}"))
+ + TEMPLATE_TEXT_SUFFIX, DATA_PROXY_URL, new Listener<LinkDTO>() {
+ public void onEvent(LinkDTO link) {
+ }
+ });
+ super.setTitle(i18n.t("Local link"));
+ super.setHeight(110);
+ super.setPaddings(20);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkLocalPresenter extends TextEditorInsertAbstractPresenter implements
+ TextEditorInsertLinkLocal {
+
+ public TextEditorInsertLinkLocalPresenter(TextEditorInsertElement editorInsertElement) {
+ super(editorInsertElement);
+ }
+
+ public void init(TextEditorInsertLinkLocalView view) {
+ super.init(view);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkLocalView extends TextEditorInsertAbstractView {
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -60,6 +60,7 @@
public class I18nTranslatorPanel extends AbstractSearcherPanel implements I18nTranslatorView {
+ public static final String TRANSLATOR_DIALOG = "k-i18n-trans";
private Window dialog;
private final I18nTranslatorPresenter presenter;
private LanguageSelectorPanel languageSelectorPanel;
@@ -126,7 +127,7 @@
center.setClosable(false);
center.setBorder(false);
- final Window dialog = new BasicDialog("", false, false, 720, 330);
+ final Window dialog = new BasicDialog(TRANSLATOR_DIALOG, "", false, false, 720, 330);
// dialog.setResizable(false);
dialog.setIconCls("i18n-icon");
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -21,6 +21,7 @@
import org.ourproject.kune.platf.client.dto.LicenseDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -32,20 +33,17 @@
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.Ext;
-import com.gwtext.client.core.Function;
-import com.gwtext.client.core.FxConfig;
+import com.gwtext.client.core.ExtElement;
public class EntityLicensePanel implements EntityLicenseView {
private final Image licenseImage;
private final Label licenseLabel;
private final I18nTranslationService i18n;
private final SimpleToolbar licenseBar;
- private final WorkspaceSkeleton ws;
public EntityLicensePanel(final EntityLicensePresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws) {
this.i18n = i18n;
- this.ws = ws;
licenseImage = new Image();
licenseLabel = new Label();
@@ -62,7 +60,6 @@
licenseLabel.addClickListener(clickListener);
licenseImage.addClickListener(clickListener);
- licenseLabel.setVisible(false);
MouseListenerAdapter mouseListenerAdapter = new MouseListenerAdapter() {
@Override
@@ -82,18 +79,15 @@
licenseLabel.addStyleName("kune-Margin-Large-l");
licenseLabel.setStyleName("k-elp-limg");
licenseImage.setStyleName("k-elp-limg");
+ ws.getEntityWorkspace().getBottomTitle().add(licenseBar);
}
public void attach() {
- if (!licenseBar.isAttached()) {
- ws.getEntityWorkspace().getBottomTitle().add(licenseBar);
- }
+ Ext.get(licenseBar.getElement()).setOpacity(1, false);
}
public void detach() {
- if (licenseBar.isAttached()) {
- ws.getEntityWorkspace().getBottomTitle().remove(licenseBar);
- }
+ Ext.get(licenseBar.getElement()).setOpacity(0, false);
}
public void openWindow(final String url) {
@@ -101,24 +95,15 @@
}
public void showLicense(final String groupName, final LicenseDTO licenseDTO) {
- licenseLabel.setText(i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName()));
+ String licenseText = i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName());
+ licenseLabel.setText(licenseText);
+ KuneUiUtils.setQuickTip(licenseLabel, licenseText);
licenseImage.setUrl(licenseDTO.getImageUrl());
fade(false);
}
private void fade(final boolean in) {
- if (licenseLabel.isVisible() != in) {
- FxConfig fxConfigVisible = new FxConfig(1);
- fxConfigVisible.setAfterStyle(new Function() {
- public void execute() {
- licenseLabel.setVisible(in);
- }
- });
- if (in) {
- Ext.get(licenseLabel.getElement()).fadeIn(fxConfigVisible);
- } else {
- Ext.get(licenseLabel.getElement()).fadeOut(fxConfigVisible);
- }
- }
+ ExtElement element = Ext.get(licenseLabel.getElement());
+ element.setOpacity(in ? 1 : 0, true);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -57,8 +57,8 @@
}
private void setLicense(final StateContainerDTO state) {
- view.attach();
this.license = state.getLicense();
view.showLicense(state.getGroup().getLongName(), license);
+ view.attach();
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -84,7 +84,7 @@
public NewGroupPanel(final NewGroupPresenter presenter, final I18nUITranslationService i18n,
final Provider<LicenseChoose> licenseChooseProvider, Images img) {
- super(i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, new WizardListener() {
+ super(NEWGROUP_WIZARD, i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, new WizardListener() {
public void onBack() {
presenter.onBack();
}
@@ -105,7 +105,7 @@
public void onNext() {
presenter.onNext();
}
- }, i18n, NEWGROUP_WIZARD, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
+ }, i18n, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
this.i18n = i18n;
Field.setMsgTarget("side");
final Panel centerPanel = new Panel();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -46,6 +46,7 @@
private final Session session;
private final StateManager stateManager;
private final Provider<GroupServiceAsync> groupServiceProvider;
+ private boolean mustGoToPrevious;
public NewGroupPresenter(final I18nTranslationService i18n, final Session session, final StateManager stateManager,
final Provider<GroupServiceAsync> groupServiceProvider) {
@@ -58,6 +59,7 @@
doNewGroup();
}
});
+ mustGoToPrevious = true;
}
public void doNewGroup() {
@@ -98,8 +100,10 @@
}
public void onClose() {
+ if (mustGoToPrevious) {
+ stateManager.restorePreviousToken();
+ }
reset();
- stateManager.restorePreviousToken();
}
public void onFinish() {
@@ -129,8 +133,9 @@
}
public void onSuccess(final StateToken token) {
+ mustGoToPrevious = false;
+ view.hide();
stateManager.gotoToken(token);
- view.hide();
reset();
view.unMask();
}
@@ -164,5 +169,6 @@
private void reset() {
view.clearData();
+ mustGoToPrevious = true;
}
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+public interface AbstractOptions {
+
+ public void hideMessages();
+
+ public void setErrorMessage(String message, SiteErrorType type);
+
+ void addOptionTab(View view);
+
+ void show();
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -1,12 +1,18 @@
package org.ourproject.kune.workspace.client.options;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
import org.ourproject.kune.platf.client.ui.dialogs.MessageToolbar;
import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+import com.allen_sauer.gwt.log.client.Log;
+import com.calclab.suco.client.listener.Listener0;
+import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
+import com.gwtext.client.widgets.event.WindowListenerAdapter;
public abstract class AbstractOptionsPanel {
private BasicDialog dialog;
@@ -20,11 +26,12 @@
private final Images images;
private final String errorLabelId;
private String iconCls;
- private final String id;
+ private final String dialogId;
+ private Listener0 onHideListener;
- public AbstractOptionsPanel(String title, int width, int height, int minWidth, int minHeight, Images images,
- String id, String errorLabelId) {
- this.id = id;
+ public AbstractOptionsPanel(String dialogId, String title, int width, int height, int minWidth, int minHeight,
+ Images images, String errorLabelId) {
+ this.dialogId = dialogId;
this.title = title;
this.width = width;
this.height = height;
@@ -34,11 +41,29 @@
this.errorLabelId = errorLabelId;
}
- public void addTab(Panel newTab) {
- createDialogIfNecessary();
- tabPanel.add(newTab);
+ public void addHideListener(final Listener0 onHideListener) {
+ this.onHideListener = onHideListener;
+ if (dialog != null) {
+ addHideListener();
+ }
}
+ public void addOptionTab(View view) {
+ if (view instanceof Panel) {
+ addTab((Panel) view);
+ } else if (view instanceof DefaultForm) {
+ addTab(((DefaultForm) view).getFormPanel());
+ } else {
+ Log.error("Programatic error: Unexpected element added to GroupOptions");
+ }
+ doLayoutIfNeeded();
+ }
+
+ public void createAndShow() {
+ show();
+ setFirstTabActive();
+ }
+
public void doLayoutIfNeeded() {
if (dialog.isRendered()) {
dialog.doLayout(false);
@@ -89,9 +114,27 @@
dialog.show();
}
+ private void addHideListener() {
+ dialog.addListener(new WindowListenerAdapter() {
+ @Override
+ public void onClose(Panel panel) {
+ onHideListener.onEvent();
+ }
+
+ @Override
+ public void onHide(Component component) {
+ onHideListener.onEvent();
+ }
+ });
+ }
+
+ private void addTab(Panel newTab) {
+ createDialogIfNecessary();
+ tabPanel.add(newTab);
+ }
+
private void createDialog() {
- dialog = new BasicDialog(title, false, true, width, height, minWidth, minHeight);
- dialog.setId(id);
+ dialog = new BasicDialog(dialogId, title, false, true, width, height, minWidth, minHeight);
messageErrorBar = new MessageToolbar(images, errorLabelId);
dialog.setBottomToolbar(messageErrorBar.getToolbar());
tabPanel = new TabPanel();
@@ -100,6 +143,9 @@
if (iconCls != null) {
dialog.setIconCls(iconCls);
}
+ if (onHideListener != null) {
+ addHideListener();
+ }
}
private void createDialogIfNecessary() {
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,38 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+public abstract class AbstractOptionsPresenter {
+
+ private AbstractOptionsView view;
+
+ public void addOptionTab(View tab) {
+ view.addOptionTab(tab);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void hide() {
+ view.hide();
+ }
+
+ public void hideMessages() {
+ view.hideMessages();
+ }
+
+ public void init(AbstractOptionsView view) {
+ this.view = view;
+ }
+
+ public void setErrorMessage(String message, SiteErrorType type) {
+ view.setErrorMessage(message, type);
+ }
+
+ public void show() {
+ view.createAndShow();
+ }
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -1,9 +1,16 @@
package org.ourproject.kune.workspace.client.options;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
-public interface AbstractOptionsView {
+public interface AbstractOptionsView extends View {
+ void addOptionTab(View tab);
+
+ void createAndShow();
+
+ void hide();
+
void hideMessages();
void setErrorMessage(final String message, final SiteErrorType type);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -1,11 +1,18 @@
package org.ourproject.kune.workspace.client.options;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
-public interface EntityOptions extends AbstractOptionsView {
+public interface EntityOptions extends AbstractOptions {
- void addOptionTab(View view);
+ public void addOptionTab(View tab);
- void show();
+ public View getView();
+ public void hideMessages();
+
+ public void setErrorMessage(String message, SiteErrorType type);
+
+ public void show();
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -6,14 +6,11 @@
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.platf.client.ui.IconLabel;
-import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.widgets.Panel;
public class EntityOptionsPanel extends AbstractOptionsPanel implements EntityOptionsView {
@@ -22,9 +19,9 @@
super(text, icon, false);
}
}
- public static final String GROUP_OPTIONS_ERROR_ID = "k-gop-err-mess";
- public static final String GROUP_OPTIONS_ID = "k-gop-panel";
- public static final String GROUP_OPTIONS_ICON = "k-gop-icon";
+ public static final String ENTITY_OP_PANEL_ID = "k-eop-diag";
+ public static final String GROUP_OPTIONS_ERROR_ID = "k-eop-err-mess";
+ public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
private final I18nTranslationService i18n;
private final EntityHeader entityHeader;
private EntityOptionPushButton optionsButton;
@@ -32,9 +29,9 @@
private final EntityOptionsGroup entityPreferencesGroup;
- public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityHeader entityHeader,
+ public EntityOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
- super("", 400, 250, 400, 250, images, GROUP_OPTIONS_ID, GROUP_OPTIONS_ERROR_ID);
+ super(ENTITY_OP_PANEL_ID, "", 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
this.entityHeader = entityHeader;
this.i18n = i18n;
this.images = images;
@@ -43,21 +40,10 @@
createOptionsButton();
}
- public void addOptionTab(View view) {
- if (view instanceof Panel) {
- super.addTab((Panel) view);
- } else if (view instanceof DefaultForm) {
- super.addTab(((DefaultForm) view).getForm());
- } else {
- Log.error("Programatic error: Unexpected element added to GroupOptions");
- }
- doLayoutIfNeeded();
- }
-
+ @Override
public void createAndShow() {
entityPreferencesGroup.createAll();
- show();
- setFirstTabActive();
+ super.createAndShow();
}
public void setButtonVisible(boolean visible) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -1,15 +1,13 @@
package org.ourproject.kune.workspace.client.options;
-import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
import com.calclab.suco.client.listener.Listener;
-public class EntityOptionsPresenter implements EntityOptions {
+public class EntityOptionsPresenter extends AbstractOptionsPresenter implements EntityOptions {
- private EntityOptionsView view;
+ EntityOptionsView view;
public EntityOptionsPresenter(StateManager stateManager) {
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
@@ -29,27 +27,8 @@
});
}
- public void addOptionTab(View tab) {
- view.addOptionTab(tab);
- }
-
- public View getView() {
- return view;
- }
-
- public void hideMessages() {
- view.hideMessages();
- }
-
public void init(EntityOptionsView view) {
+ super.init(view);
this.view = view;
}
-
- public void setErrorMessage(String message, SiteErrorType type) {
- view.setErrorMessage(message, type);
- }
-
- public void show() {
- view.createAndShow();
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -4,12 +4,6 @@
public interface EntityOptionsView extends View, AbstractOptionsView {
- void addOptionTab(View tab);
-
- void createAndShow();
-
- void hide();
-
void setButtonVisible(boolean visible);
void setGroupTitle();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -27,7 +27,7 @@
super.setAutoWidth(true);
super.setAutoHeight(true);
super.add(new Hidden());
- super.getForm().setLabelWidth(20);
+ super.getFormPanel().setLabelWidth(20);
this.presenter = presenter;
fields = new HashMap<String, Checkbox>();
}
@@ -46,7 +46,7 @@
}
public void clear() {
- super.getForm().removeAll(true);
+ super.getFormPanel().removeAll(true);
fields.clear();
Label label = new Label();
label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
@@ -78,8 +78,8 @@
}
private void doLayoutIfNeeded() {
- if (super.getForm().isRendered()) {
- super.getForm().doLayout();
+ if (super.getFormPanel().isRendered()) {
+ super.getFormPanel().doLayout();
}
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,95 @@
+package org.ourproject.kune.workspace.client.search;
+
+import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+
+import com.calclab.suco.client.listener.Listener;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.Connection;
+import com.gwtext.client.core.Template;
+import com.gwtext.client.core.UrlParam;
+import com.gwtext.client.data.DataProxy;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.HttpProxy;
+import com.gwtext.client.data.JsonReader;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.Store;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.widgets.form.ComboBox;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+
+public class AbstractLiveSearcherPanel extends FormPanel {
+
+ protected static final String TEMPLATE_TEXT_PREFIX = "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img src=\"";
+ protected static final String TEMPLATE_TEXT_SUFFIX = "\" style=\"height: 16px; width: 16px;\" />{shortName}: {longName}</span></div>";
+
+ private static final String LONG_NAME_FIELD = "longName";
+ private static final String SHORT_NAME_FIELD = "shortName";
+ private static final String ICON_URL_FIELD = "iconUrl";
+ private static final String LINK_FIELD = "link";
+
+ public static final int PAGINATION_SIZE = 10;
+
+ public AbstractLiveSearcherPanel(I18nTranslationService i18n, String templateText, String dataProxyUrl,
+ final Listener<LinkDTO> listener) {
+ DataProxy dataProxy = new HttpProxy(dataProxyUrl, Connection.POST);
+
+ final JsonReader reader = new JsonReader(new RecordDef(
+ new FieldDef[] { new StringFieldDef(SHORT_NAME_FIELD), new StringFieldDef(LONG_NAME_FIELD),
+ new StringFieldDef(LINK_FIELD), new StringFieldDef(ICON_URL_FIELD) }));
+ reader.setRoot("list");
+ reader.setTotalProperty("size");
+ reader.setId(SHORT_NAME_FIELD);
+
+ final Store store = new Store(dataProxy, reader);
+
+ store.load(new UrlParam[] { new UrlParam("query", "."), new UrlParam("first", 1),
+ new UrlParam("max", PAGINATION_SIZE) });
+
+ super.setBorder(false);
+ super.setWidth(275);
+ super.setHideLabels(true);
+
+ final Template resultTpl = new Template(templateText);
+ final ComboBox cb = new ComboBox();
+ cb.setStore(store);
+ cb.setEmptyText(i18n.t("Write here to search"));
+ cb.setDisplayField(LONG_NAME_FIELD);
+ cb.setTypeAhead(true);
+ cb.setLoadingText(i18n.t("Searching..."));
+ cb.setWidth(268);
+ cb.setPageSize(PAGINATION_SIZE);
+ cb.setTpl(resultTpl);
+ cb.setMode(ComboBox.REMOTE);
+ cb.setMinChars(2);
+ cb.setSelectOnFocus(false);
+ cb.setHideTrigger(true);
+ cb.setHideLabel(true);
+ // setTitle(i18n.t("User or group"));
+ cb.setItemSelector("div.search-item");
+
+ cb.addListener(new ComboBoxListenerAdapter() {
+ @Override
+ public void onSelect(final ComboBox comboBox, final Record record, final int index) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ final LinkDTO link = new LinkDTO(record.getAsString(SHORT_NAME_FIELD),
+ record.getAsString(LONG_NAME_FIELD), record.getAsString(ICON_URL_FIELD),
+ record.getAsString(LINK_FIELD));
+ listener.onEvent(link);
+ }
+ });
+ }
+ });
+
+ super.add(cb);
+ }
+
+ public void reset() {
+ super.getForm().reset();
+ }
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,44 +20,29 @@
package org.ourproject.kune.workspace.client.search;
import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-import com.gwtext.client.core.Connection;
-import com.gwtext.client.core.Template;
-import com.gwtext.client.core.UrlParam;
-import com.gwtext.client.data.DataProxy;
-import com.gwtext.client.data.FieldDef;
-import com.gwtext.client.data.HttpProxy;
-import com.gwtext.client.data.JsonReader;
-import com.gwtext.client.data.Record;
-import com.gwtext.client.data.RecordDef;
-import com.gwtext.client.data.Store;
-import com.gwtext.client.data.StringFieldDef;
-import com.gwtext.client.widgets.form.ComboBox;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+import com.calclab.suco.client.listener.Listener;
public class EntityLiveSearcherPanel implements EntityLiveSearcherView {
- private static final String LONG_NAME_FIELD = "longName";
- private static final String SHORT_NAME_FIELD = "shortName";
- private static final String ICON_URL_FIELD = "iconUrl";
- private static final String LINK_FIELD = "link";
- private static final int PAGINATION_SIZE = 10;
+ public static final String ENT_LIVE_SEARCH_DIALOG = "k-elivesp-dialog";
private final EntityLiveSearcherPresenter presenter;
private BasicDialog dialog;
private final EntityLiveSearcherType searchType;
- private FormPanel searchForm;
private final I18nTranslationService i18n;
+ private AbstractLiveSearcherPanel liveSearcher;
+ private final FileDownloadUtils downloadUtils;
public EntityLiveSearcherPanel(final EntityLiveSearcherPresenter presenter,
- final EntityLiveSearcherType searchType, final I18nTranslationService i18n) {
+ final EntityLiveSearcherType searchType, final I18nTranslationService i18n, FileDownloadUtils downloadUtils) {
this.presenter = presenter;
this.searchType = searchType;
this.i18n = i18n;
+ this.downloadUtils = downloadUtils;
}
public void center() {
@@ -66,7 +51,7 @@
public void hide() {
dialog.hide();
- searchForm.getForm().reset();
+ liveSearcher.reset();
}
public void show() {
@@ -84,73 +69,32 @@
} else {
title = i18n.t("Search existing users");
}
- dialog = new BasicDialog(title, true, false, 285, 55);
+ dialog = new BasicDialog(ENT_LIVE_SEARCH_DIALOG, title, true, false, 285, 55);
dialog.setClosable(true);
dialog.setCollapsible(false);
- DataProxy dataProxy = null;
+ String dataProxyUrl = "";
switch (searchType) {
case groups:
- dataProxy = new HttpProxy("/kune/json/GroupJSONService/search", Connection.POST);
+ dataProxyUrl = "/kune/json/GroupJSONService/search";
break;
case users:
- dataProxy = new HttpProxy("/kune/json/UserJSONService/search", Connection.POST);
+ dataProxyUrl = "/kune/json/UserJSONService/search";
break;
default:
break;
}
- final JsonReader reader = new JsonReader(new RecordDef(
- new FieldDef[] { new StringFieldDef(SHORT_NAME_FIELD), new StringFieldDef(LONG_NAME_FIELD),
- new StringFieldDef(LINK_FIELD), new StringFieldDef(ICON_URL_FIELD) }));
- reader.setRoot("list");
- reader.setTotalProperty("size");
- reader.setId(SHORT_NAME_FIELD);
+ String templateText = AbstractLiveSearcherPanel.TEMPLATE_TEXT_PREFIX
+ + downloadUtils.getLogoImageUrl(new StateToken("{shortName}"))
+ + AbstractLiveSearcherPanel.TEMPLATE_TEXT_SUFFIX;
- final Store store = new Store(dataProxy, reader);
-
- store.load(new UrlParam[] { new UrlParam("query", "."), new UrlParam("first", 1),
- new UrlParam("max", PAGINATION_SIZE) });
-
- searchForm = new FormPanel();
- searchForm.setBorder(false);
- searchForm.setWidth(275);
- searchForm.setHideLabels(true);
-
- final Template resultTpl = new Template(
- "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img alt=\"group logo\" src=\"images/group-def-icon.png\" style=\"height: 16px; width: 16px;\" />{shortName}: {longName}</span></div>");
- final ComboBox cb = new ComboBox();
- cb.setStore(store);
- cb.setEmptyText(i18n.t("Write here to search"));
- cb.setDisplayField(LONG_NAME_FIELD);
- cb.setTypeAhead(true);
- cb.setLoadingText(i18n.t("Searching..."));
- cb.setWidth(268);
- cb.setPageSize(PAGINATION_SIZE);
- cb.setTpl(resultTpl);
- cb.setMode(ComboBox.REMOTE);
- cb.setMinChars(2);
- cb.setSelectOnFocus(false);
- cb.setHideTrigger(true);
- cb.setHideLabel(true);
- // setTitle(i18n.t("User or group"));
- cb.setItemSelector("div.search-item");
-
- cb.addListener(new ComboBoxListenerAdapter() {
- @Override
- public void onSelect(final ComboBox comboBox, final Record record, final int index) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- final LinkDTO link = new LinkDTO(record.getAsString(SHORT_NAME_FIELD),
- record.getAsString(LONG_NAME_FIELD), record.getAsString(ICON_URL_FIELD),
- record.getAsString(LINK_FIELD));
- presenter.onSelection(link);
- }
- });
+ liveSearcher = new AbstractLiveSearcherPanel(i18n, templateText, dataProxyUrl, new Listener<LinkDTO>() {
+ public void onEvent(LinkDTO link) {
+ presenter.onSelection(link);
}
});
- searchForm.add(cb);
- dialog.add(searchForm);
+ dialog.add(liveSearcher);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,11 +20,13 @@
package org.ourproject.kune.workspace.client.search;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
public class GroupLiveSearchPanel extends EntityLiveSearcherPanel {
- public GroupLiveSearchPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n) {
- super(presenter, EntityLiveSearcherType.groups, i18n);
+ public GroupLiveSearchPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n,
+ FileDownloadUtils downloadUtils) {
+ super(presenter, EntityLiveSearcherType.groups, i18n, downloadUtils);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -54,7 +54,7 @@
public class SiteSearcherPanel extends AbstractSearcherPanel implements SiteSearcherView {
- private static final String SITE_SEARCHER_DIALOG = "k-site-searcher-dialog";
+ public static final String SITE_SEARCHER_DIALOG = "k-site-searcher-dialog";
private final Window dialog;
private final SiteSearcherPresenter presenter;
private Store groupStore;
@@ -104,8 +104,8 @@
dialog.expand();
dialog.center();
if (traybarButton == null) {
- traybarButton = new SiteBottomTrayButton("images/kune-search-ico-push.gif", i18n.t("Show/hide search engine"),
- dialog, ws);
+ traybarButton = new SiteBottomTrayButton("images/kune-search-ico-push.gif",
+ i18n.t("Show/hide search engine"), dialog, ws);
}
}
@@ -120,7 +120,7 @@
centerPanel.setClosable(false);
centerPanel.setBorder(false);
- final BasicDialog dialog = new BasicDialog(i18n.t("Search"), false, false, 500, 400);
+ final BasicDialog dialog = new BasicDialog(SITE_SEARCHER_DIALOG, i18n.t("Search"), false, false, 500, 400);
// dialog.setResizable(false);
dialog.setIconCls("search-icon");
final Button closeButton = new Button(i18n.tWithNT("Close", "used in button"));
@@ -167,7 +167,6 @@
centerPanel.setActiveItemID(panelId);
dialog.setCloseAction(Window.HIDE);
- dialog.ensureDebugId(SITE_SEARCHER_DIALOG);
return dialog;
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,11 +20,13 @@
package org.ourproject.kune.workspace.client.search;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
public class UserLiveSearcherPanel extends EntityLiveSearcherPanel {
- public UserLiveSearcherPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n) {
- super(presenter, EntityLiveSearcherType.users, i18n);
+ public UserLiveSearcherPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n,
+ FileDownloadUtils downloadUtils) {
+ super(presenter, EntityLiveSearcherType.users, i18n, downloadUtils);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -10,7 +10,9 @@
import com.calclab.suco.client.listener.Listener0;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.event.WindowListenerAdapter;
public class RegisterPanel extends SignInAbstractPanel implements RegisterView {
@@ -21,13 +23,13 @@
public static final String CANCEL_BUTTON_ID = "k-regp-cb";
public static final String REGISTER_BUTTON_ID = "k-regp-rb";
public static final String REGISTER_FORM = "k-regp-p";
-
public static final String WELCOME_OK_BUTTON = "k-regp-okbt";
public static final String WELCOME_DIALOG = "k-regp-wdiag";
+ public static final String REGISTER_DIALOG = "k-regp-dialog";
public RegisterPanel(final RegisterPresenter presenter, I18nUITranslationService i18n, final WorkspaceSkeleton ws,
Session session, Images images) {
- super(i18n, i18n.t(PlatfMessages.REGISTER_TITLE), true, true, 390, 450, "",
+ super(REGISTER_DIALOG, i18n, i18n.t(PlatfMessages.REGISTER_TITLE), true, true, 390, 450, "",
i18n.t(PlatfMessages.REGISTER_TITLE), REGISTER_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
CANCEL_BUTTON_ID, new Listener0() {
public void onEvent() {
@@ -41,12 +43,18 @@
presenter.onCancel();
}
}, images, ERRMSG, 11);
+ super.addListener(new WindowListenerAdapter() {
+ @Override
+ public void onHide(Component component) {
+ presenter.onClose();
+ }
+ });
Panel panel = new Panel();
panel.setBorder(false);
registerForm = new RegisterForm(i18n, session);
registerForm.setWidth(360);
- panel.add(registerForm.getForm());
+ panel.add(registerForm.getFormPanel());
add(panel);
panel.setId(REGISTER_FORM);
}
@@ -96,21 +104,19 @@
}
public void showWelcolmeDialog() {
- InfoDialog welcomeDialog = new InfoDialog(i18n.t("Welcome"), i18n.t("Thanks for registering"),
+ InfoDialog welcomeDialog = new InfoDialog(WELCOME_DIALOG, i18n.t("Welcome"), i18n.t("Thanks for registering"),
i18n.t("Now you can participate more actively in this site with other people and groups. "
+ "You can also use your personal space to publish contents. "
+ "Your email is not verified, please follow the instructions you will receive by email."),
i18n.t("Ok"), WELCOME_OK_BUTTON, true, true, 380, 210);
- welcomeDialog.setId(WELCOME_DIALOG);
welcomeDialog.show();
}
public void showWelcolmeDialogNoHomepage() {
- InfoDialog welcomeDialog = new InfoDialog(i18n.t("Welcome"), i18n.t("Thanks for registering"),
+ InfoDialog welcomeDialog = new InfoDialog(WELCOME_DIALOG, i18n.t("Welcome"), i18n.t("Thanks for registering"),
i18n.t("Now you can participate more actively in this site with other people and groups. "
+ "Your email is not verified, please follow the instructions you will receive by email."),
i18n.t("Ok"), WELCOME_OK_BUTTON, true, true, 380, 210);
- welcomeDialog.setId(WELCOME_DIALOG);
welcomeDialog.show();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,22 +20,22 @@
protected final I18nUITranslationService i18n;
private final MessageToolbar messageErrorBar;
- public SignInAbstractPanel(I18nUITranslationService i18n, String title, boolean modal, boolean autoscroll,
- int width, int heigth, String icon, String firstButtonTitle, String cancelButtonTitle,
+ public SignInAbstractPanel(String dialogId, I18nUITranslationService i18n, String title, boolean modal,
+ boolean autoscroll, int width, int heigth, String icon, String firstButtonTitle, String cancelButtonTitle,
Listener0 onFirstButtonClick, Listener0 onCancelButtonClick, Images images, String errorLabelId,
int tabIndexStart) {
- this(i18n, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
+ this(dialogId, i18n, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
cancelButtonTitle, Ext.generateId(), onFirstButtonClick, onCancelButtonClick, images, errorLabelId,
tabIndexStart);
}
- public SignInAbstractPanel(I18nUITranslationService i18n, final String title, final boolean modal,
+ public SignInAbstractPanel(String dialogId, I18nUITranslationService i18n, final String title, final boolean modal,
final boolean autoscroll, final int width, final int heigth, final String icon,
final String firstButtonTitle, final String firstButtonId, final String cancelButtonTitle,
final String cancelButtonId, final Listener0 onFirstButtonClick, final Listener0 onCancelButtonClick,
Images images, String errorLabelId, int tabIndexStart) {
- super(title, modal, autoscroll, width, heigth, icon, firstButtonTitle, firstButtonId, cancelButtonTitle,
- cancelButtonId, onFirstButtonClick, onCancelButtonClick, tabIndexStart);
+ super(dialogId, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, firstButtonId,
+ cancelButtonTitle, cancelButtonId, onFirstButtonClick, onCancelButtonClick, tabIndexStart);
this.i18n = i18n;
messageErrorBar = new MessageToolbar(images, errorLabelId);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -20,13 +20,15 @@
public static final String CANCEL_BUTTON_ID = "k-signinp-cb";
public static final String SIGN_IN_BUTTON_ID = "k-signinp-sib";
public static final String CREATE_ONE = "k-signinp-create";
+ public static final String SIGNIN_DIALOG = "k-signinp-dialog";
static SignInForm signInForm;
private final SignInPresenter presenter;
public SignInPanel(final SignInPresenter presenter, I18nUITranslationService i18n, final WorkspaceSkeleton ws,
Images images) {
- super(i18n, i18n.t(PlatfMessages.SIGN_IN_TITLE), true, true, 340, 240, "", i18n.t(PlatfMessages.SIGN_IN_TITLE),
- SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"), CANCEL_BUTTON_ID, new Listener0() {
+ super(SIGNIN_DIALOG, i18n, i18n.t(PlatfMessages.SIGN_IN_TITLE), true, true, 340, 240, "",
+ i18n.t(PlatfMessages.SIGN_IN_TITLE), SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
+ CANCEL_BUTTON_ID, new Listener0() {
public void onEvent() {
signInForm.validate();
if (signInForm.isValid()) {
@@ -56,7 +58,7 @@
panel.setBorder(false);
signInForm = new SignInForm(presenter, i18n);
signInForm.setWidth(310);
- panel.add(signInForm.getForm());
+ panel.add(signInForm.getFormPanel());
panel.add(createNoAccountRegister());
add(panel);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -43,7 +43,7 @@
public SitePublicSpaceLinkPanel(final SitePublicSpaceLinkPresenter presenter, final WorkspaceSkeleton ws,
final I18nUITranslationService i18n, final Images img) {
publicHP = new HorizontalPanel();
- gotoPublic = new IconLabel(img.anybody(), i18n.t("Go to Public Space"), false);
+ gotoPublic = new IconLabel(img.anybody(), i18n.t("Public Space"), false);
gotoPublic.ensureDebugId(SITE_GOTO_PUBLIC);
contentNoPublic = new IconLabel(img.anybody(), i18n.t("This content is not public"));
contentNoPublic.ensureDebugId(SITE_CONTENT_NO_PUBLIC);
@@ -60,8 +60,7 @@
gotoPublic();
}
});
- gotoPublic.setTitle(i18n.t("Leave the workspace and go to this group public space")
- + Site.IN_DEVELOPMENT);
+ gotoPublic.setTitle(i18n.t("Leave the workspace and go to this group public space") + Site.IN_DEVELOPMENT);
gotoPublic.addStyleName("k-sitebar-labellink");
contentNoPublic.addStyleName("k-sitebar-labellink");
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -19,7 +19,6 @@
*/package org.ourproject.kune.workspace.client.sitebar.sitesearch;
import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.site.Site;
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -40,15 +39,11 @@
private final PushButton searchButton;
private final TextBox searchTextBox;
- private final I18nUITranslationService i18n;
private final SimpleToolbar siteBar;
- public SiteSearchPanel(final SiteSearchPresenter presenter, final WorkspaceSkeleton ws,
- final I18nUITranslationService i18n, Images img) {
- this.i18n = i18n;
+ public SiteSearchPanel(final SiteSearchPresenter presenter, final WorkspaceSkeleton ws, Images img) {
siteBar = ws.getSiteBar();
siteBar.addSpacer();
- siteBar.addSpacer();
searchButton = new PushButton(img.kuneSearchIco().createImage(), img.kuneSearchIcoPush().createImage());
searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
searchTextBox = new TextBox();
@@ -57,10 +52,8 @@
siteBar.add(searchButton);
siteBar.addSpacer();
siteBar.add(searchTextBox);
- siteBar.addSpacer();
setTextSearchSmall();
- setDefaultTextSearch();
searchTextBox.addFocusListener(new FocusListener() {
public void onFocus(final Widget arg0) {
presenter.onSearchFocus();
@@ -104,11 +97,11 @@
searchTextBox.selectAll();
}
- public void setDefaultTextSearch() {
- searchTextBox.setText(i18n.t("Search"));
+ public void setSearchText(final String text) {
+ searchTextBox.setText(text);
}
- public void setSearchText(final String text) {
+ public void setTextSearch(String text) {
searchTextBox.setText(text);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -19,6 +19,7 @@
*/package org.ourproject.kune.workspace.client.sitebar.sitesearch;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
import com.calclab.suco.client.ioc.Provider;
@@ -27,9 +28,11 @@
private SiteSearchView view;
private final Provider<SiteSearcher> provider;
+ private final String defaultSearchText;
- public SiteSearchPresenter(final Provider<SiteSearcher> provider) {
+ public SiteSearchPresenter(final Provider<SiteSearcher> provider, I18nTranslationService i18n) {
this.provider = provider;
+ defaultSearchText = i18n.t("Search");
}
public void doSearch(final String termToSearch) {
@@ -43,6 +46,7 @@
public void init(final SiteSearchView view) {
this.view = view;
+ setDefText();
}
public void onSearchFocus() {
@@ -51,10 +55,15 @@
}
public void onSearchLostFocus(final String search) {
- if (search.length() == 0) {
- view.setDefaultTextSearch();
+ if (search.length() == 0 || search.equals(defaultSearchText)) {
view.setTextSearchSmall();
}
+ if (search.length() == 0) {
+ setDefText();
+ }
}
+ private void setDefText() {
+ view.setTextSearch(defaultSearchText);
+ }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -26,7 +26,7 @@
void selectSearchText();
- void setDefaultTextSearch();
+ void setTextSearch(String text);
void setTextSearchBig();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -22,6 +22,7 @@
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.ui.MenuItemCollection;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import com.google.gwt.user.client.ui.ClickListener;
@@ -50,8 +51,9 @@
loggedUserMenu = new PushButton("");
loggedUserMenu.ensureDebugId(LOGGED_USER_MENU);
loggedUserMenu.setStyleName("k-sitebar-labellink");
- ws.getSiteBar().add(loggedUserMenu);
- separator = ws.getSiteBar().addSeparator();
+ SimpleToolbar siteBar = ws.getSiteBar();
+ siteBar.add(loggedUserMenu);
+ separator = siteBar.addSeparator();
userMenu = new Menu();
loggedUserMenu.addClickListener(new ClickListener() {
public void onClick(final Widget sender) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -72,14 +72,14 @@
bottomPanel.setLayout(new AnchorLayout());
title = new SimpleToolbar();
- title.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2);
+ title.setHeight("" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2));
title.setStylePrimaryName(ENTITY_TITLE);
// title.ensureDebugId(ENTITY_TITLE);
subTitle = new SimpleToolbar();
subTitle.setStylePrimaryName(ENTITY_SUBTITLE);
// subTitle.ensureDebugId(ENTITY_SUBTITLE);
bottom = new SimpleToolbar();
- bottom.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2);
+ bottom.setHeight("" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2));
bottom.setStylePrimaryName(ENTITY_BOTTOM);
bottom.ensureDebugId(ENTITY_BOTTOM);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -88,8 +88,9 @@
addStyleName("k-blank-toolbar");
}
- public void setHeight(int height) {
- mainPanel.setHeight("" + height);
- mainPanel.setCellHeight(childPanel, "" + height);
+ @Override
+ public void setHeight(String height) {
+ mainPanel.setHeight(height);
+ mainPanel.setCellHeight(childPanel, height);
}
}
\ No newline at end of file
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -181,8 +181,8 @@
protected void signInAndNewGroup() throws Exception {
openDefPage();
signIn();
+ verifyLoggedUserShorName("admin");
open(SiteToken.newgroup);
- verifyLoggedUserShorName("admin");
waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java 2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java 2008-12-15 00:59:28 UTC (rev 994)
@@ -59,8 +59,8 @@
@Test(expected = GroupNameInUseException.class)
public void createUserExistingNameFails() throws Exception {
assertNull(session.getUser().getId());
- final UserDTO user = new UserDTO("test", properties.getAdminShortName(), "123456", "example(a)example.com", lang,
- country, timezone, null, true, SubscriptionMode.manual, "blue");
+ final UserDTO user = new UserDTO("test", properties.getAdminShortName(), "123456", "example1234(a)example.com",
+ lang, country, timezone, null, true, SubscriptionMode.manual, "blue");
userService.createUser(user, false);
}
1
0
13 Dec '08
Author: shevek
Date: 2008-12-14 00:24:02 +0100 (Sun, 14 Dec 2008)
New Revision: 993
Modified:
trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
Log:
Translation improved
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-13 17:46:32 UTC (rev 992)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-13 23:24:02 UTC (rev 993)
@@ -49,7 +49,7 @@
"It is used when a file or a folder with the same name already exists"));
} catch (final NameNotPermittedException e) {
Site.error(i18n.tWithNT("This name is not permitted",
- "It is uUsed when a file or a folder does not have a permitted name"));
+ "It is used when a file or a folder does not have a permitted name"));
} catch (final Throwable e) {
Site.error(i18n.t("Error renaming"));
}
1
0
r992 - in trunk/src/main/java/org/ourproject/kune: platf/client platf/client/services platf/server/domain workspace/client/cnt workspace/client/cxt workspace/client/socialnet workspace/client/title
by Samer . 13 Dec '08
by Samer . 13 Dec '08
13 Dec '08
Author: shevek
Date: 2008-12-13 18:46:32 +0100 (Sat, 13 Dec 2008)
New Revision: 992
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AccessListsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
Log:
Translation improved
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -7,7 +7,7 @@
String SIGN_IN_TITLE = "Sign in";
String EMAIL_IN_USE = "This email address is being used by another user. Please, try with another one";
String NAME_IN_USE = "This name in already in use. Please try with a different name";
- String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email or password is incorrect";
+ String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email/password is incorrect";
String YOUR_HOMEPAGE = "Your homepage";
String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -93,7 +93,7 @@
Site.veryImportant(i18n.t("Group not found"));
stateManagerProvider.get().gotoToken("");
} catch (final IncompatibleRemoteServiceException e) {
- Site.error(i18n.t("Your browser is outdated from the server software. Please reload this page."));
+ Site.error(i18n.t("Your browser is outdated with the server software. Please reload this page."));
} catch (final ContentNotFoundException e) {
logException(e);
Site.veryImportant(i18n.t("Content not found"));
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -74,13 +74,13 @@
@Field(index = Index.TOKENIZED, store = Store.NO)
@Column(unique = true)
- @Length(min = 3, max = 15, message = "Shortname between 3 and 15 chars of lenght")
- @Pattern(regex = "^[a-z0-9_\\-]+$", message = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes")
+ @Length(min = 3, max = 15, message = "The shortname must be between 3 and 15 characters of length")
+ @Pattern(regex = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
private String shortName;
@Field(index = Index.TOKENIZED, store = Store.NO)
@Column(unique = true)
- @Length(min = 3, max = 50, message = "longName between 3 and 50 chars of lenght")
+ @Length(min = 3, max = 50, message = "The longName must be between 3 and 50 characters of length")
private String longName;
@OneToOne
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -85,7 +85,7 @@
@Column(unique = true)
// http://www.hibernate.org/hib_docs/validator/reference/en/html/validator-def…
@Length(min = 3, max = 15)
- @Pattern(regex = "^[a-z0-9_\\-]+$", message = "Must be between 3 and 15 lowercase characters. Can only contain characters, numbers, and dashes")
+ @Pattern(regex = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
private String shortName;
@ManyToOne
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -75,7 +75,7 @@
}
} else {
if ((contentBody == null || contentBody.length() == 0) && state.getContentRights().isEditable()) {
- view.setInfoMessage(i18n.t("There is currently no text in this page, you can edit this page"));
+ view.setInfoMessage(i18n.t("There is no text in this page. Feel free to edit this page"));
} else {
view.setRawContent(contentBody);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AccessListsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AccessListsPanel.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AccessListsPanel.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -43,11 +43,11 @@
public AccessListsPanel(final I18nTranslationService i18n, Images img) {
this.i18n = i18n;
this.img = img;
- final Label adminsLabel = new Label(i18n.t("Who can admin this:"));
+ final Label adminsLabel = new Label(i18n.t("Those who can admin this:"));
adminsVP = new VerticalPanel();
- final Label editorsLabel = new Label(i18n.t("Who more can edit:"));
+ final Label editorsLabel = new Label(i18n.t("Those who can edit as well:"));
editorsVP = new VerticalPanel();
- final Label viewersLabel = new Label(i18n.t("Who more can view:"));
+ final Label viewersLabel = new Label(i18n.t("Those who can view as well:"));
viewersVP = new VerticalPanel();
// Layout
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -137,7 +137,7 @@
public void setAccessLists(final AccessListsDTO accessLists) {
if (aclComponent == null) {
accessListsPanel = new AccessListsPanel(i18n, images);
- aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Who can admin/edit/view this work"),
+ aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Those who can admin/edit/view this work"),
true, ACL_PROP, accessListsPanel);
addComponent(aclComponent);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -171,7 +171,7 @@
});
buddiesVisibilityAction.setTextDescription(textDescription);
buddiesVisibilityAction.setParentMenuTitle(i18n.t("Options"));
- buddiesVisibilityAction.setParentSubMenuTitle(i18n.t("Who can view your buddies list"));
+ buddiesVisibilityAction.setParentSubMenuTitle(i18n.t("Those who can view your buddies list"));
actionRegistry.addAction(buddiesVisibilityAction);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -57,7 +57,7 @@
this.i18n = i18n;
final GridDragConfiguration dragConf = new GridDragConfiguration(UserGridPanel.USER_GROUP_DD,
- i18n.t("Drop in the chat area to start a chat.") + "<br/>"
+ i18n.t("Drop into the chat area to start a chat.") + "<br/>"
+ i18n.t("Drop into a room to invite the user to join the chat room"));
gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
+ "please request to join to work on it"), dragConf, true, true, false, true, false);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -202,7 +202,7 @@
});
showMembers.setTextDescription(textDescription);
showMembers.setParentMenuTitle(i18n.t("Options"));
- showMembers.setParentSubMenuTitle(i18n.t("Who can view this member list"));
+ showMembers.setParentSubMenuTitle(i18n.t("Those who can view this member list"));
groupActionRegistry.addAction(showMembers);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-11 02:39:23 UTC (rev 991)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-13 17:46:32 UTC (rev 992)
@@ -46,10 +46,10 @@
throw caught;
} catch (final NameInUseException e) {
Site.error(i18n.tWithNT("This name already exists",
- "Used when a file or a folder with the same name already exists"));
+ "It is used when a file or a folder with the same name already exists"));
} catch (final NameNotPermittedException e) {
Site.error(i18n.tWithNT("This name is not permitted",
- "Used when a file or a folder has a not permitted name"));
+ "It is uUsed when a file or a folder does not have a permitted name"));
} catch (final Throwable e) {
Site.error(i18n.t("Error renaming"));
}
1
0
11 Dec '08
Author: vjrj
Date: 2008-12-11 03:39:23 +0100 (Thu, 11 Dec 2008)
New Revision: 991
Added:
trunk/doc/kune-dic-08.odp
trunk/doc/kune-dic-08.pdf
trunk/img/kune-logo-1200.png
trunk/img/kune-logo-600.png
Modified:
trunk/CREDITS
trunk/src/main/java/org/ourproject/kune/platf/client/ui/QuickTipsHelper.java
Log:
kune presentation draft for new video, Samer in authors ;)
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2008-12-10 14:58:11 UTC (rev 990)
+++ trunk/CREDITS 2008-12-11 02:39:23 UTC (rev 991)
@@ -5,15 +5,15 @@
--------------------------------------------------------------------------------
Daniel Gómez Blasco
+Samer Hassan
Vicente J. Ruiz Jurado
Contributors
--------------------------------------------------------------------------------
-* Thanks to Samer Hassan for all the feedback, ideas and help with translations.
* Antonio Martins, Jéferson Assumção, Moacir Gadotti and the Instituto Paulo
Freire staff.
-* Daniel Jiménez for the initial help
+* Daniel Jiménez for the initial help and coordination
* Javier de la Cueva and Leovigildo GarcÃa-Bobadilla for the legal support
* Thanks to David Trigo and http://www.esperanto-es.net/ for suggest the name of
'kune' for our initiative:
Added: trunk/doc/kune-dic-08.odp
===================================================================
(Binary files differ)
Property changes on: trunk/doc/kune-dic-08.odp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/doc/kune-dic-08.pdf
===================================================================
(Binary files differ)
Property changes on: trunk/doc/kune-dic-08.pdf
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/img/kune-logo-1200.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-logo-1200.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/img/kune-logo-600.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-logo-600.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/QuickTipsHelper.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/QuickTipsHelper.java 2008-12-10 14:58:11 UTC (rev 990)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/QuickTipsHelper.java 2008-12-11 02:39:23 UTC (rev 991)
@@ -30,5 +30,6 @@
quickTipInstance.setDismissDelay(7000);
quickTipInstance.setHideDelay(400);
quickTipInstance.setMinWidth(100);
+ quickTipInstance.setShowDelay(750);
}
}
\ No newline at end of file
1
0
Author: vjrj
Date: 2008-12-10 15:58:11 +0100 (Wed, 10 Dec 2008)
New Revision: 990
Modified:
trunk/INSTALL
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java
trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
Log:
Complete - task Case sensitive in title search
Complete - task When empty doc show "Edit this doc" message
Complete - task Textbox instead of dialog in EditableIconLabel
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/INSTALL 2008-12-10 14:58:11 UTC (rev 990)
@@ -31,6 +31,7 @@
You have to configure mysql to support UTF8 by editing your c:\Windows\my.ini or /etc/my.cnf (on Unix) file:
[mysqld]
default-character-set=utf8
+default-collation=utf8_general_ci
Or do it per table:
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-10 14:58:11 UTC (rev 990)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-10 14:58:11 UTC (rev 990)
@@ -828,3 +828,7 @@
background: #FFCCAA;
padding: 0 5px;
}
+
+.k-eil-edit {
+ border: thin solid black;
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -151,6 +151,7 @@
String text = editor.getText();
onEdit.fire(currentText, text);
editor.setVisible(false);
+ editor.setReadOnly(true);
label.setVisible(true);
label.removeStyleDependentName("high");
}
@@ -203,6 +204,7 @@
label.setVisible(false);
if (editor == null) {
editor = new TextBox();
+ editor.setStyleName("k-eil-edit");
hp.add(editor);
editor.addFocusListener(new FocusListener() {
public void onFocus(Widget sender) {
@@ -218,7 +220,8 @@
}
});
}
- editor.setPixelSize(hpWidth, 22);
+ editor.setReadOnly(false);
+ editor.setPixelSize(hpWidth < 40 ? 40 : hpWidth, 21);
editor.setText(currentText);
editor.setVisible(true);
editor.setFocus(true);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -34,6 +34,8 @@
Container find(Long id);
+ boolean findIfExistsTitle(Container container, String title);
+
String renameFolder(Group group, Container container, String newName) throws DefaultException;
SearchResult<Container> search(String search);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -86,6 +86,12 @@
return persist(container);
}
+ /** Duplicate code in ContentMD **/
+ public boolean findIfExistsTitle(Container container, String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
+ }
+
public String renameFolder(final Group group, final Container container, final String newName)
throws DefaultException {
FilenameUtils.checkBasicFilename(newName);
@@ -122,12 +128,6 @@
}
/** Duplicate code in ContentMD **/
- private boolean findIfExistsTitle(Container container, String title) {
- return (contentFinder.findIfExistsTitle(container, title) > 0)
- || (containerFinder.findIfExistsTitle(container, title) > 0);
- }
-
- /** Duplicate code in ContentMD **/
private String findInexistentName(Container container, String title) {
String initialTitle = new String(title);
while (findIfExistsTitle(container, initialTitle)) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManager.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManager.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -39,6 +39,8 @@
void delContent(User user, Long contentId) throws DefaultException;
+ boolean findIfExistsTitle(Container container, String title);
+
Double getRateAvg(Content content);
Long getRateByUsers(Content content);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -109,6 +109,11 @@
content.setDeletedOn(new Date());
}
+ public boolean findIfExistsTitle(Container container, String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
+ }
+
public Double getRateAvg(final Content content) {
return finder.getRateAvg(content);
}
@@ -235,11 +240,6 @@
content.setTags(tagList);
}
- private boolean findIfExistsTitle(Container container, String title) {
- return (contentFinder.findIfExistsTitle(container, title) > 0)
- || (containerFinder.findIfExistsTitle(container, title) > 0);
- }
-
private String findInexistentTitle(Container container, String title) {
String initialTitle = new String(title);
while (findIfExistsTitle(container, initialTitle)) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -25,6 +25,7 @@
import java.util.Set;
import javax.persistence.CascadeType;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
@@ -58,6 +59,7 @@
@DocumentId
Long id;
+ @Column
@Field(index = Index.TOKENIZED, store = Store.NO)
private String name;
@@ -120,7 +122,7 @@
contents.add(descriptor);
}
- @Finder(query = "SELECT COUNT(*) FROM Container c WHERE c.parent = :container AND c.name = :title")
+ @Finder(query = "SELECT COUNT(*) FROM Container c WHERE c.parent = :container AND c.name LIKE :title")
public Long findIfExistsTitle(@Named("container") Container container, @Named("title") String title) {
return null;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -164,7 +164,7 @@
}
}
- @Finder(query = "select count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title = :title")
+ @Finder(query = "select count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title LIKE :title")
public Long findIfExistsTitle(@Named("container") Container container, @Named("title") String title) {
return null;
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java 2008-12-10 01:36:03 UTC (rev 989)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java 2008-12-10 14:58:11 UTC (rev 990)
@@ -10,6 +10,8 @@
import org.junit.Test;
import org.ourproject.kune.chat.server.ChatServerTool;
import org.ourproject.kune.docs.server.DocumentServerTool;
+import org.ourproject.kune.platf.server.content.ContainerManager;
+import org.ourproject.kune.platf.server.content.ContentManager;
import org.ourproject.kune.platf.server.domain.Container;
import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.Group;
@@ -33,9 +35,29 @@
I18nLanguageManager languageManager;
@Inject
I18nCountryManager countryManager;
+ @Inject
+ ContentManager contentManager;
+ @Inject
+ ContainerManager containerManager;
private Group defaultGroup;
+ /**
+ * If this test fails, see database configuration in INSTALL (the collation
+ * part) and http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html
+ *
+ * Title must be created as something like `title` varchar(255) collate
+ * utf8_bin default NULL
+ *
+ */
+ @Test
+ public void caseSensitive() {
+ Content defaultContent = defaultGroup.getDefaultContent();
+ assertTrue(contentManager.findIfExistsTitle(defaultContent.getContainer(), "Welcome to kune demo"));
+ assertTrue(!contentManager.findIfExistsTitle(defaultContent.getContainer(), "welcome to kune Demo"));
+ assertTrue(!contentManager.findIfExistsTitle(defaultContent.getContainer(), "Welcome to kune demo "));
+ }
+
@Before
public void init() {
new IntegrationTestHelper(this);
1
0
Author: vjrj
Date: 2008-12-10 02:36:03 +0100 (Wed, 10 Dec 2008)
New Revision: 989
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionToolbarMenuRadioDescriptor.java
trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameInUseException.java
trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameNotPermittedException.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerUtils.java
trunk/src/main/java/org/ourproject/kune/platf/server/utils/FilenameUtils.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/RadioMustBeChecked.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerTest.java
Removed:
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java
Modified:
trunk/CREDITS
trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogFolderContentPresenter.java
trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogViewerPresenter.java
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPanel.java
trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java
trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryFolderContentPresenter.java
trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryViewerPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractLabel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableClickListener.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java
trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderService.java
trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderServiceDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoDownloadManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUtils.java
trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiFolderContentPresenter.java
trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiViewerPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceMessages.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigator.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java
trunk/src/test/java/org/ourproject/kune/platf/server/content/ContentManagerDefaultTest.java
Log:
Incomplete - task Content name verifications
Complete - task ActionDescriptionRadio
Complete - task pdf to img for previews
Complete - task When empty doc show "Edit this doc" message
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/CREDITS 2008-12-10 01:36:03 UTC (rev 989)
@@ -10,7 +10,7 @@
Contributors
--------------------------------------------------------------------------------
-* Thanks to Samer Hassan for all the feedback and ideas.
+* Thanks to Samer Hassan for all the feedback, ideas and help with translations.
* Antonio Martins, Jéferson Assumção, Moacir Gadotti and the Instituto Paulo
Freire staff.
* Daniel Jiménez for the initial help
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogFolderContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogFolderContentPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogFolderContentPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -40,7 +40,7 @@
public BlogFolderContentPresenter(StateManager stateManager, Session session, ActionContentToolbar toolbar,
final ActionRegistry<StateToken> actionRegistry, I18nTranslationService i18n,
Provider<FileDownloadUtils> downloadProvider) {
- super(BlogClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(BlogClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
this.i18n = i18n;
}
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogViewerPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogViewerPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/BlogViewerPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -36,7 +36,7 @@
public BlogViewerPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
ActionContentToolbar toolbar, ContentActionRegistry actionRegistry,
Provider<FileDownloadUtils> downloadProvider) {
- super(BlogClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(BlogClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
}
public void init(BlogViewerView view) {
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -41,7 +41,7 @@
public ChatRoomPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
ActionContentToolbar toolbar, final ActionRegistry<StateToken> actionRegistry,
Provider<FileDownloadUtils> downloadProvider) {
- super(ChatClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(ChatClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
this.i18n = i18n;
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -108,7 +108,7 @@
public DocFolderContent create() {
final DocFolderContentPresenter presenter = new DocFolderContentPresenter($(StateManager.class),
$(Session.class), $(ActionContentToolbar.class), $(ContentActionRegistry.class),
- $$(FileDownloadUtils.class));
+ $$(FileDownloadUtils.class), $(I18nTranslationService.class));
final DocFolderContentView view = new DocFolderContentPanel($(WorkspaceSkeleton.class),
$(I18nTranslationService.class));
presenter.init(view);
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -27,5 +27,6 @@
public DocFolderContentPanel(WorkspaceSkeleton ws, I18nTranslationService i18n) {
super(ws, i18n);
+ setInfo("");
}
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocFolderContentPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -23,6 +23,7 @@
import org.ourproject.kune.platf.client.actions.ActionRegistry;
import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbar;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
@@ -33,8 +34,9 @@
public class DocFolderContentPresenter extends FoldableContentPresenter implements DocFolderContent {
public DocFolderContentPresenter(StateManager stateManager, Session session, ActionContentToolbar toolbar,
- final ActionRegistry<StateToken> actionRegistry, Provider<FileDownloadUtils> downloadProvider) {
- super(DocumentClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ final ActionRegistry<StateToken> actionRegistry, Provider<FileDownloadUtils> downloadProvider,
+ I18nTranslationService i18n) {
+ super(DocumentClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
}
public void init(final DocFolderContentView view) {
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -36,7 +36,7 @@
public DocumentViewerPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
ActionContentToolbar toolbar, ContentActionRegistry actionRegistry,
Provider<FileDownloadUtils> downloadProvider) {
- super(DocumentClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(DocumentClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
}
public void init(DocumentViewerView view) {
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryFolderContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryFolderContentPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryFolderContentPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -44,7 +44,7 @@
public GalleryFolderContentPresenter(StateManager stateManager, Session session, ActionContentToolbar toolbar,
final ActionRegistry<StateToken> actionRegistry, I18nTranslationService i18n,
Provider<FileDownloadUtils> downloadUtils, Provider<FileDownloadUtils> downloadProvider) {
- super(GalleryClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(GalleryClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
this.i18n = i18n;
this.downloadUtils = downloadUtils;
}
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryViewerPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryViewerPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/cnt/GalleryViewerPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -36,7 +36,7 @@
public GalleryViewerPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
ActionContentToolbar toolbar, ContentActionRegistry actionRegistry,
Provider<FileDownloadUtils> downloadProvider) {
- super(GalleryClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(GalleryClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
}
public void init(GalleryViewerView view) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -9,7 +9,7 @@
String NAME_IN_USE = "This name in already in use. Please try with a different name";
String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email or password is incorrect";
String YOUR_HOMEPAGE = "Your homepage";
- String USER_DON_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
+ String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
String ENT_OPTIONS_GROUP_TITLE = "Group options";
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionToolbarMenuRadioDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionToolbarMenuRadioDescriptor.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionToolbarMenuRadioDescriptor.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,26 @@
+package org.ourproject.kune.platf.client.actions;
+
+import org.ourproject.kune.platf.client.dto.AccessRolDTO;
+import org.ourproject.kune.workspace.client.socialnet.RadioMustBeChecked;
+
+import com.calclab.suco.client.listener.Listener;
+
+public class ActionToolbarMenuRadioDescriptor<T> extends ActionToolbarMenuDescriptor<T> {
+ private final String group;
+ private final RadioMustBeChecked mustBeChecked;
+
+ public ActionToolbarMenuRadioDescriptor(AccessRolDTO accessRol, ActionToolbarPosition toolbarPosition,
+ Listener<T> onPerformCall, String group, RadioMustBeChecked mustBeChecked) {
+ super(accessRol, toolbarPosition, onPerformCall);
+ this.group = group;
+ this.mustBeChecked = mustBeChecked;
+ }
+
+ public String getGroup() {
+ return group;
+ }
+
+ public boolean mustBeChecked() {
+ return mustBeChecked.mustBeChecked();
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -9,6 +9,7 @@
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator;
import org.ourproject.kune.platf.client.actions.ActionToolbarDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -21,6 +22,7 @@
import com.gwtext.client.widgets.ToolbarButton;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.menu.BaseItem;
+import com.gwtext.client.widgets.menu.CheckItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.MenuItem;
@@ -169,12 +171,23 @@
private Item createToolbarMenu(final ActionToolbarPosition toolBarPos, final String menuTitle,
final String menuSubTitle, final ActionItem<T> actionItem, String id) {
final ActionToolbarMenuDescriptor<T> action = (ActionToolbarMenuDescriptor<T>) actionItem.getAction();
- final Item item = new Item(action.getText(), new BaseItemListenerAdapter() {
+ final Item item;
+ if (action instanceof ActionToolbarMenuRadioDescriptor) {
+ CheckItem checkItem = new CheckItem(action.getText());
+ ActionToolbarMenuRadioDescriptor<T> radioDescriptor = (ActionToolbarMenuRadioDescriptor<T>) action;
+ checkItem.setGroup(radioDescriptor.getGroup());
+ checkItem.setChecked(radioDescriptor.mustBeChecked());
+ item = checkItem;
+ } else {
+ item = new Item(action.getText());
+ }
+ BaseItemListenerAdapter clickListener = new BaseItemListenerAdapter() {
@Override
public void onClick(BaseItem item, EventObject e) {
actionManagerProvider.get().doAction(actionItem);
}
- });
+ };
+ item.addListener(clickListener);
item.setIcon(action.getIconUrl());
item.setTitle(action.getToolTip());
if (id != null) {
Added: trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameInUseException.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameInUseException.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameInUseException.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,24 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.errors;
+
+public class NameInUseException extends DefaultException {
+ private static final long serialVersionUID = 1L;
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameNotPermittedException.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameNotPermittedException.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/errors/NameNotPermittedException.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,24 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.errors;
+
+public class NameNotPermittedException extends DefaultException {
+ private static final long serialVersionUID = 1L;
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -121,7 +121,7 @@
import org.ourproject.kune.workspace.client.tags.TagsSummary;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
+import org.ourproject.kune.workspace.client.title.RenameAction;
import com.calclab.suco.client.ioc.decorator.NoDecoration;
import com.calclab.suco.client.ioc.decorator.Singleton;
@@ -486,10 +486,9 @@
@Override
public ContextNavigator create() {
final ContextNavigatorPresenter presenter = new ContextNavigatorPresenter($(StateManager.class),
- $(Session.class), $$(ContentServiceAsync.class), i18n, $(EntityTitle.class),
- $(ContentIconsRegistry.class), $(ContentCapabilitiesRegistry.class),
- $(ActionContextToolbar.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class),
- true);
+ $(Session.class), $$(ContentServiceAsync.class), i18n, $(ContentIconsRegistry.class),
+ $(ContentCapabilitiesRegistry.class), $(ActionContextToolbar.class),
+ $(ContextActionRegistry.class), $$(FileDownloadUtils.class), true, $(RenameAction.class));
final ContextNavigatorPanel panel = new ContextNavigatorPanel(presenter, i18n,
$(WorkspaceSkeleton.class), $(ActionManager.class));
presenter.init(panel);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -42,7 +42,6 @@
import org.ourproject.kune.platf.client.ui.rate.RateItPresenter;
import org.ourproject.kune.platf.client.ui.rate.RatePanel;
import org.ourproject.kune.platf.client.ui.rate.RatePresenter;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPanel;
import org.ourproject.kune.workspace.client.entityheader.EntityHeaderPresenter;
@@ -123,8 +122,10 @@
import org.ourproject.kune.workspace.client.title.EntityTitle;
import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
import org.ourproject.kune.workspace.client.title.EntityTitlePresenter;
+import org.ourproject.kune.workspace.client.title.RenameAction;
import com.calclab.suco.client.ioc.decorator.NoDecoration;
+import com.calclab.suco.client.ioc.decorator.Singleton;
import com.calclab.suco.client.ioc.module.AbstractModule;
import com.calclab.suco.client.ioc.module.Factory;
@@ -282,9 +283,9 @@
register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
@Override
public EntityTitle create() {
- final EntityTitlePresenter presenter = new EntityTitlePresenter($(KuneErrorHandler.class),
- $(StateManager.class), $(Session.class), $$(ContentServiceAsync.class),
- $$(ContextNavigator.class), $(ContentIconsRegistry.class), $(RenamableRegistry.class));
+ final EntityTitlePresenter presenter = new EntityTitlePresenter($(StateManager.class),
+ $(Session.class), $(ContentIconsRegistry.class), $(RenamableRegistry.class),
+ $(RenameAction.class));
final EntityTitlePanel panel = new EntityTitlePanel($(WorkspaceSkeleton.class), presenter);
presenter.init(panel);
return presenter;
@@ -458,5 +459,13 @@
}
});
+ register(Singleton.class, new Factory<RenameAction>(RenameAction.class) {
+ @Override
+ public RenameAction create() {
+ return new RenameAction($(I18nTranslationService.class), $(Session.class),
+ $$(ContentServiceAsync.class));
+ }
+ });
+
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractLabel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractLabel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -56,4 +56,6 @@
void setTitle(final String title);
+ void setVisible(boolean visible);
+
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableClickListener.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableClickListener.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableClickListener.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -21,6 +21,7 @@
public interface EditableClickListener {
+ @Deprecated
void onEdited(String text);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/EditableIconLabel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -19,13 +19,17 @@
*/
package org.ourproject.kune.platf.client.ui;
+import com.calclab.suco.client.listener.Event2;
+import com.calclab.suco.client.listener.Listener2;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FocusListener;
+import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.MouseListenerAdapter;
+import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.widgets.MessageBox;
-import com.gwtext.client.widgets.MessageBoxConfig;
public class EditableIconLabel extends Composite {
@@ -36,10 +40,15 @@
private EditableClickListener editableListener;
private MouseListenerAdapter mouseOverListener;
private final AbstractLabel label;
+ @SuppressWarnings("unused")
private String renameDialogTitle;
+ @SuppressWarnings("unused")
private String renameDialogLabel;
private String doubleClickToRenameLabel;
private String clickToRenameLabel;
+ private Event2<String, String> onEdit;
+ private TextBox editor;
+ private HorizontalPanel hp;
public EditableIconLabel(final AbstractImagePrototype icon, final String text, final boolean useDoubleClick,
final EditableClickListener editableListenerOrig) {
@@ -51,6 +60,7 @@
final boolean useDoubleClick, final EditableClickListener editableListenerOrig) {
label = new IconHyperlink(icon, text, targetHistoryToken);
init(text, useDoubleClick, editableListenerOrig);
+ this.onEdit = new Event2<String, String>("onEdit");
}
public EditableIconLabel(final EditableClickListener editableListener) {
@@ -61,6 +71,7 @@
final EditableClickListener editableListenerOrig) {
label = new LabelWrapper(text, wordWrap);
init(text, useDoubleClick, editableListenerOrig);
+ this.onEdit = new Event2<String, String>("onEdit");
}
public EditableIconLabel(final String text, final boolean useDoubleClick,
@@ -80,6 +91,10 @@
return label.getText();
}
+ public void onEdit(final Listener2<String, String> slot) {
+ onEdit.add(slot);
+ }
+
public void restoreOldText() {
label.setText(oldText);
this.currentText = this.oldText;
@@ -116,10 +131,12 @@
this.editableListener = editableListener;
}
+ @Deprecated
public void setRenameDialogLabel(final String renameDialogLabel) {
this.renameDialogLabel = renameDialogLabel;
}
+ @Deprecated
public void setRenameDialogTitle(final String renameDialogTitle) {
this.renameDialogTitle = renameDialogTitle;
}
@@ -130,21 +147,33 @@
label.setText(text);
}
+ private void afterEdit() {
+ String text = editor.getText();
+ onEdit.fire(currentText, text);
+ editor.setVisible(false);
+ label.setVisible(true);
+ label.removeStyleDependentName("high");
+ }
+
private void init(final String text, final boolean useDoubleClick, final EditableClickListener editableListenerOrig) {
doubleClickToRenameLabel = "Double click to rename";
clickToRenameLabel = "Click to rename";
renameDialogLabel = "Write a new name:";
renameDialogTitle = "Rename";
- initWidget((Widget) label);
+ hp = new HorizontalPanel();
+ hp.add((Widget) label);
+ initWidget(hp);
this.currentText = text;
this.oldText = text;
this.useDoubleClick = useDoubleClick;
this.editableListener = editableListenerOrig;
+ this.onEdit = new Event2<String, String>("onEdit");
this.listener = new ClickListener() {
public void onClick(final Widget sender) {
- showEditableDialog();
+ showEditor();
}
};
+
mouseOverListener = new MouseListenerAdapter() {
@Override
public void onMouseEnter(final Widget sender) {
@@ -169,30 +198,30 @@
label.removeMouseListener(mouseOverListener);
}
- private void showEditableDialog() {
- MessageBox.show(new MessageBoxConfig() {
- {
- // i18n
- setClosable(true);
- setModal(true);
- setWidth(300);
- setDefaultTextHeight(2);
- setButtons(MessageBox.OKCANCEL);
- setTitle(renameDialogTitle);
- setMsg(renameDialogLabel);
- setCallback(new MessageBox.PromptCallback() {
- public void execute(final String btnID, final String text) {
- if (btnID.equals("ok") && text != null) {
- editableListener.onEdited(text);
- } else {
- // Do nothing
- }
- }
- });
- setMultiline(true);
- setValue(currentText);
- }
- });
+ private void showEditor() {
+ int hpWidth = hp.getParent().getOffsetWidth();
+ label.setVisible(false);
+ if (editor == null) {
+ editor = new TextBox();
+ hp.add(editor);
+ editor.addFocusListener(new FocusListener() {
+ public void onFocus(Widget sender) {
+ }
+
+ public void onLostFocus(Widget sender) {
+ afterEdit();
+ }
+ });
+ editor.addChangeListener(new ChangeListener() {
+ public void onChange(Widget sender) {
+ afterEdit();
+ }
+ });
+ }
+ editor.setPixelSize(hpWidth, 22);
+ editor.setText(currentText);
+ editor.setVisible(true);
+ editor.setFocus(true);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderService.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderService.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -30,14 +30,14 @@
public interface FinderService {
+ Comment getComment(Long commentId) throws DefaultException;
+
Content getContent(Long contentId) throws DefaultException;
Content getContent(StateToken token, Group defaultGroup) throws DefaultException;
Container getFolder(Long folderId) throws DefaultException;
- Comment getComment(Long commentId) throws DefaultException;
-
Rate getRate(User user, Content content);
Double getRateAvg(Content content);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderServiceDefault.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/access/FinderServiceDefault.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -131,11 +131,11 @@
private Content findByContentReference(final String groupName, final String toolName, final Long folderId,
final Long contentId) throws ContentNotFoundException {
- final Content descriptor = contentManager.find(contentId);
- if (descriptor == null) {
+ final Content content = contentManager.find(contentId);
+ if (content == null) {
throw new ContentNotFoundException();
}
- final Container container = descriptor.getContainer();
+ final Container container = content.getContainer();
if (!container.getId().equals(folderId)) {
throw new ContentNotFoundException();
@@ -146,7 +146,7 @@
if (!container.getOwner().getShortName().equals(groupName)) {
throw new ContentNotFoundException();
}
- return descriptor;
+ return content;
}
private Content findByFolderReference(final String groupName, final Long folderId) {
@@ -186,9 +186,9 @@
}
private Content generateFolderFakeContent(final Container container) {
- final Content descriptor = new Content();
- descriptor.setContainer(container);
- return descriptor;
+ final Content content = new Content();
+ content.setContainer(container);
+ return content;
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -29,12 +29,16 @@
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
import org.ourproject.kune.platf.client.errors.DefaultException;
+import org.ourproject.kune.platf.client.errors.NameInUseException;
import org.ourproject.kune.platf.server.domain.AccessLists;
import org.ourproject.kune.platf.server.domain.Container;
+import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.I18nLanguage;
+import org.ourproject.kune.platf.server.manager.file.FileUtils;
import org.ourproject.kune.platf.server.manager.impl.DefaultManager;
import org.ourproject.kune.platf.server.manager.impl.SearchResult;
+import org.ourproject.kune.platf.server.utils.FilenameUtils;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -43,13 +47,20 @@
@Singleton
public class ContainerManagerDefault extends DefaultManager<Container, Long> implements ContainerManager {
+ private final Container containerFinder;
+ private final Content contentFinder;
+
@Inject
- public ContainerManagerDefault(final Provider<EntityManager> provider) {
+ public ContainerManagerDefault(Content contentFinder, Container containerFinder,
+ final Provider<EntityManager> provider) {
super(provider, Container.class);
+ this.contentFinder = contentFinder;
+ this.containerFinder = containerFinder;
}
public Container createFolder(final Group group, final Container parent, final String name,
final I18nLanguage language, String typeId) {
+ findInexistentName(parent, name);
final List<Container> parentAbsolutePath = parent.getAbsolutePath();
final List<Container> childAbsolutePath = new ArrayList<Container>();
@@ -77,12 +88,17 @@
public String renameFolder(final Group group, final Container container, final String newName)
throws DefaultException {
+ FilenameUtils.checkBasicFilename(newName);
+ String newNameWithoutNT = FilenameUtils.chomp(newName);
if (container.isRoot()) {
throw new RuntimeException("Root folder cannot be renamed");
}
- container.setName(newName);
+ if (findIfExistsTitle(container.getParent(), newNameWithoutNT)) {
+ throw new NameInUseException();
+ }
+ container.setName(newNameWithoutNT);
persist(container);
- return newName;
+ return newNameWithoutNT;
}
public SearchResult<Container> search(final String search) {
@@ -105,4 +121,19 @@
persist(container);
}
+ /** Duplicate code in ContentMD **/
+ private boolean findIfExistsTitle(Container container, String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
+ }
+
+ /** Duplicate code in ContentMD **/
+ private String findInexistentName(Container container, String title) {
+ String initialTitle = new String(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ }
+ return initialTitle;
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContentManagerDefault.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -31,6 +31,7 @@
import org.apache.lucene.search.Query;
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.errors.I18nNotFoundException;
+import org.ourproject.kune.platf.client.errors.NameInUseException;
import org.ourproject.kune.platf.client.errors.UserNotFoundException;
import org.ourproject.kune.platf.client.ui.TextUtils;
import org.ourproject.kune.platf.server.access.FinderService;
@@ -44,8 +45,10 @@
import org.ourproject.kune.platf.server.domain.Tag;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.TagManager;
+import org.ourproject.kune.platf.server.manager.file.FileUtils;
import org.ourproject.kune.platf.server.manager.impl.DefaultManager;
import org.ourproject.kune.platf.server.manager.impl.SearchResult;
+import org.ourproject.kune.platf.server.utils.FilenameUtils;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -58,11 +61,16 @@
private final User userFinder;
private final I18nLanguage languageFinder;
private final TagManager tagManager;
+ private final Content contentFinder;
+ private final Container containerFinder;
@Inject
- public ContentManagerDefault(final Provider<EntityManager> provider, final FinderService finder,
- final User userFinder, final I18nLanguage languageFinder, final TagManager tagManager) {
+ public ContentManagerDefault(final Content contentFinder, final Container containerFinder,
+ final Provider<EntityManager> provider, final FinderService finder, final User userFinder,
+ final I18nLanguage languageFinder, final TagManager tagManager) {
super(provider, Content.class);
+ this.contentFinder = contentFinder;
+ this.containerFinder = containerFinder;
this.finder = finder;
this.userFinder = userFinder;
this.languageFinder = languageFinder;
@@ -80,6 +88,8 @@
public Content createContent(final String title, final String body, final User author, final Container container,
String typeId) {
+ FilenameUtils.checkBasicFilename(title);
+ String newtitle = findInexistentTitle(container, title);
final Content newContent = new Content();
newContent.addAuthor(author);
newContent.setLanguage(author.getLanguage());
@@ -87,7 +97,7 @@
container.addContent(newContent);
newContent.setContainer(container);
final Revision revision = new Revision(newContent);
- revision.setTitle(title);
+ revision.setTitle(newtitle);
revision.setBody(body);
newContent.addRevision(revision);
return persist(newContent);
@@ -142,8 +152,13 @@
}
public String renameContent(final User user, final Long contentId, final String newTitle) throws DefaultException {
+ String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
+ FilenameUtils.checkBasicFilename(newTitleWithoutNL);
final Content content = finder.getContent(contentId);
- content.getLastRevision().setTitle(newTitle);
+ if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
+ throw new NameInUseException();
+ }
+ content.getLastRevision().setTitle(newTitleWithoutNL);
return newTitle;
}
@@ -219,4 +234,17 @@
}
content.setTags(tagList);
}
+
+ private boolean findIfExistsTitle(Container container, String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
+ }
+
+ private String findInexistentTitle(Container container, String title) {
+ String initialTitle = new String(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ }
+ return initialTitle;
+ }
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Container.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -46,6 +46,9 @@
import org.hibernate.search.annotations.Store;
import org.ourproject.kune.platf.client.dto.StateToken;
+import com.google.inject.name.Named;
+import com.wideplay.warp.persist.dao.Finder;
+
@Entity
@Indexed
@Table(name = "containers")
@@ -117,6 +120,11 @@
contents.add(descriptor);
}
+ @Finder(query = "SELECT COUNT(*) FROM Container c WHERE c.parent = :container AND c.name = :title")
+ public Long findIfExistsTitle(@Named("container") Container container, @Named("title") String title) {
+ return null;
+ }
+
public List<Container> getAbsolutePath() {
return absolutePath;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Content.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -54,6 +54,9 @@
import org.hibernate.validator.NotNull;
import org.ourproject.kune.platf.client.dto.StateToken;
+import com.google.inject.name.Named;
+import com.wideplay.warp.persist.dao.Finder;
+
@Entity
@Table(name = "contents")
@Indexed
@@ -161,6 +164,11 @@
}
}
+ @Finder(query = "select count(*) from Container ctx, Content ctn where ctn.container.id = ctx.id and ctx = :container and ctn.lastRevision.title = :title")
+ public Long findIfExistsTitle(@Named("container") Container container, @Named("title") String title) {
+ return null;
+ }
+
@Transient
public AccessLists getAccessLists() {
return hasAccessList() ? accessLists : getContainer().getAccessLists();
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoDownloadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoDownloadManager.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoDownloadManager.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -21,6 +21,7 @@
import java.io.IOException;
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -31,7 +32,7 @@
import com.google.inject.Inject;
-public class EntityLogoDownloadManager extends FileDownloadManagerAbstract {
+public class EntityLogoDownloadManager extends HttpServlet {
private static final long serialVersionUID = 1L;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManager.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManager.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -24,6 +24,7 @@
import java.io.OutputStream;
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -48,14 +49,22 @@
* http://www.onjava.com/pub/a/onjava/excerpt/jebp_3/index1.html?page=1
*
*/
-public class FileDownloadManager extends FileDownloadManagerAbstract {
+public class FileDownloadManager extends HttpServlet {
+ static final String RESP_HEADER_ATTACHMENT_FILENAME = "attachment; filename=\"";
+ static final String RESP_HEADER_CONTEND_DISP = "Content-Disposition";
+ static final String RESP_HEADER_END = "\"";
+
+ static final String APPLICATION_X_DOWNLOAD = "application/x-download";
+
private static final long serialVersionUID = 1L;
@Inject
ContentManager contentManager;
@Inject
KuneProperties kuneProperties;
+ @Inject
+ FileUtils fileUtils;
@Override
protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException,
@@ -65,24 +74,31 @@
final StateToken stateToken = new StateToken(req.getParameter(FileParams.TOKEN));
final String downloadS = req.getParameter(FileParams.DOWNLOAD);
String imageSizeS = req.getParameter(FileParams.IMGSIZE);
- final ImageSize imgsize = imageSizeS == null ? null : ImageSize.valueOf(imageSizeS);
- final boolean download = downloadS != null && downloadS.equals("true") ? true : false;
final Content cnt = getContentForDownload(userHash, stateToken);
+ String absFilename = buildResponse(cnt, stateToken, downloadS, imageSizeS, resp, fileUtils);
+ final OutputStream out = resp.getOutputStream();
+ FileDownloadManagerUtils.returnFile(absFilename, out);
+ }
+
+ String buildResponse(final Content cnt, final StateToken stateToken, final String downloadS, String imageSizeS,
+ final HttpServletResponse resp, FileUtils fileUtils) throws FileNotFoundException, IOException {
+ final ImageSize imgsize = imageSizeS == null ? null : ImageSize.valueOf(imageSizeS);
+ final boolean download = downloadS != null && downloadS.equals("true") ? true : false;
final String absDir = kuneProperties.get(KuneProperties.UPLOAD_LOCATION) + FileUtils.toDir(stateToken);
String filename = cnt.getFilename();
+ String title = cnt.getTitle();
String extension = FileUtils.getFileNameExtension(filename, true);
BasicMimeType mimeType = cnt.getMimeType();
- boolean isPdfAndNotDownload = mimeType.isPdf() && !download;
- if (mimeType.isImage() || isPdfAndNotDownload) {
+ boolean isPdfAndNotDownload = mimeType != null && mimeType.isPdf() && !download;
+ if (mimeType != null && (mimeType.isImage() || isPdfAndNotDownload)) {
String imgsizePrefix = imgsize == null ? "" : "." + imgsize;
String filenameWithoutExtension = FileUtils.getFileNameWithoutExtension(filename, extension);
String filenameResized = filenameWithoutExtension + imgsizePrefix
+ (isPdfAndNotDownload ? ".png" : extension);
- if (new File(absDir + filenameResized).exists()) {
- // thumb can fail
+ if (fileUtils.exist(absDir + filenameResized)) {
filename = filenameResized;
}
}
@@ -95,26 +111,18 @@
final String absFilename = absDir + filename;
- doBuildResp(resp, absFilename, cnt.getTitle(), mimeType, extension, download);
- }
+ final File file = new File(absFilename);
- private void doBuildResp(final HttpServletResponse resp, final String filename, final String otherName,
- final BasicMimeType mimeType, final String extension, final boolean download) throws FileNotFoundException,
- IOException {
- final File file = new File(filename);
-
resp.setContentLength((int) file.length());
if (mimeType == null || download) {
- resp.setContentType("application/x-download");
+ resp.setContentType(APPLICATION_X_DOWNLOAD);
} else if (mimeType.isImage()) {
resp.setContentType(mimeType.toString());
} else {
- resp.setContentType("application/x-download");
+ resp.setContentType(APPLICATION_X_DOWNLOAD);
}
- resp.setHeader("Content-Disposition", "attachment; filename=\"" + otherName + extension + "\"");
-
- final OutputStream out = resp.getOutputStream();
- returnFile(filename, out);
+ resp.setHeader(RESP_HEADER_CONTEND_DISP, RESP_HEADER_ATTACHMENT_FILENAME + title + extension + RESP_HEADER_END);
+ return absFilename;
}
@Authenticated(mandatory = false)
Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -1,49 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.platf.server.manager.file;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import javax.servlet.http.HttpServlet;
-
-public abstract class FileDownloadManagerAbstract extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
-
- public void returnFile(final String filename, final OutputStream out) throws FileNotFoundException, IOException {
- InputStream in = null;
- try {
- in = new BufferedInputStream(new FileInputStream(filename));
- final byte[] buf = new byte[4 * 1024]; // 4K buffer
- int bytesRead;
- while ((bytesRead = in.read(buf)) != -1) {
- out.write(buf, 0, bytesRead);
- }
- } finally {
- if (in != null) {
- in.close();
- }
- }
- }
-}
Copied: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerUtils.java (from rev 985, trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerAbstract.java 2008-12-05 17:53:45 UTC (rev 985)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerUtils.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,48 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.platf.server.manager.file;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class FileDownloadManagerUtils {
+
+ private static final long serialVersionUID = 1L;
+
+ public static void returnFile(final String filename, final OutputStream out) throws FileNotFoundException,
+ IOException {
+ InputStream in = null;
+ try {
+ in = new BufferedInputStream(new FileInputStream(filename));
+ final byte[] buf = new byte[4 * 1024]; // 4K buffer
+ int bytesRead;
+ while ((bytesRead = in.read(buf)) != -1) {
+ out.write(buf, 0, bytesRead);
+ }
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ }
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerUtils.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUtils.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUtils.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -128,4 +128,8 @@
public static String toDir(final StateToken stateToken) {
return SLASH + stateToken.getGroup() + SLASH + stateToken.getTool() + SLASH + stateToken.getFolder() + SLASH;
}
+
+ public boolean exist(String file) {
+ return new File(file).exists();
+ }
}
Added: trunk/src/main/java/org/ourproject/kune/platf/server/utils/FilenameUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/utils/FilenameUtils.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/utils/FilenameUtils.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,22 @@
+package org.ourproject.kune.platf.server.utils;
+
+import org.apache.commons.lang.StringUtils;
+import org.ourproject.kune.platf.client.errors.NameNotPermittedException;
+
+public class FilenameUtils {
+
+ /**
+ * Check filename is not empty, or '.', or '..'
+ *
+ * @param filename
+ */
+ public static void checkBasicFilename(String filename) {
+ if (filename.length() == 0 || filename.equals(".") || filename.equals("..")) {
+ throw new NameNotPermittedException();
+ }
+ }
+
+ public static String chomp(String filename) {
+ return StringUtils.chomp(filename);
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiFolderContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiFolderContentPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiFolderContentPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -41,7 +41,7 @@
public WikiFolderContentPresenter(StateManager stateManager, Session session, ActionContentToolbar toolbar,
final ActionRegistry<StateToken> actionRegistry, I18nTranslationService i18n,
Provider<FileDownloadUtils> downloadProvider) {
- super(WikiClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(WikiClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
this.i18n = i18n;
}
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiViewerPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiViewerPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/cnt/WikiViewerPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -36,7 +36,7 @@
public WikiViewerPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
ActionContentToolbar toolbar, ContentActionRegistry actionRegistry,
Provider<FileDownloadUtils> downloadProvider) {
- super(WikiClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider);
+ super(WikiClientTool.NAME, stateManager, session, toolbar, actionRegistry, downloadProvider, i18n);
}
public void init(WikiViewerView view) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -7,6 +7,7 @@
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonSeparator;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuAndItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.ContentActionRegistry;
import org.ourproject.kune.platf.client.actions.ContextActionRegistry;
@@ -36,6 +37,7 @@
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.socialnet.RadioMustBeChecked;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
@@ -101,18 +103,18 @@
}
protected void createContentModeratedActions(String parentMenuTitle, final String... contentsModerated) {
- final ActionToolbarMenuDescriptor<StateToken> setPublishStatus = createSetStatusAction(
+ final ActionToolbarMenuRadioDescriptor<StateToken> setPublishStatus = createSetStatusAction(
AccessRolDTO.Administrator, i18n.t("Published online"), parentMenuTitle,
ContentStatusDTO.publishedOnline);
- final ActionToolbarMenuDescriptor<StateToken> setEditionInProgressStatus = createSetStatusAction(
+ final ActionToolbarMenuRadioDescriptor<StateToken> setEditionInProgressStatus = createSetStatusAction(
AccessRolDTO.Administrator, i18n.t("Editing in progress"), parentMenuTitle,
ContentStatusDTO.editingInProgress);
- final ActionToolbarMenuDescriptor<StateToken> setRejectStatus = createSetStatusAction(
+ final ActionToolbarMenuRadioDescriptor<StateToken> setRejectStatus = createSetStatusAction(
AccessRolDTO.Administrator, i18n.t("Rejected"), parentMenuTitle, ContentStatusDTO.rejected);
- final ActionToolbarMenuDescriptor<StateToken> setSubmittedForPublishStatus = createSetStatusAction(
+ final ActionToolbarMenuRadioDescriptor<StateToken> setSubmittedForPublishStatus = createSetStatusAction(
AccessRolDTO.Administrator, i18n.t("Submitted for publish"), parentMenuTitle,
ContentStatusDTO.publishedOnline);
- final ActionToolbarMenuDescriptor<StateToken> setInTheDustBinStatus = createSetStatusAction(
+ final ActionToolbarMenuRadioDescriptor<StateToken> setInTheDustBinStatus = createSetStatusAction(
AccessRolDTO.Administrator, i18n.t("In the rubbish bin"), parentMenuTitle, ContentStatusDTO.inTheDustbin);
contentActionRegistry.addAction(setPublishStatus, contentsModerated);
contentActionRegistry.addAction(setEditionInProgressStatus, contentsModerated);
@@ -431,9 +433,9 @@
return setAsDefGroupContent;
}
- protected ActionToolbarMenuAndItemDescriptor<StateToken> createSetStatusAction(final AccessRolDTO rol,
+ protected ActionToolbarMenuRadioDescriptor<StateToken> createSetStatusAction(final AccessRolDTO rol,
final String textDescription, String parentMenuTitle, final ContentStatusDTO status) {
- final ActionToolbarMenuAndItemDescriptor<StateToken> action = new ActionToolbarMenuAndItemDescriptor<StateToken>(
+ final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>(
rol, ActionToolbarPosition.topbar, new Listener<StateToken>() {
public void onEvent(final StateToken stateToken) {
final AsyncCallbackSimple<Object> callback = new AsyncCallbackSimple<Object>() {
@@ -449,6 +451,14 @@
contentServiceProvider.get().setStatus(session.getUserHash(), stateToken, status, callback);
}
}
+ }, "ContentRadioStatus", new RadioMustBeChecked() {
+ public boolean mustBeChecked() {
+ if (session.getContainerState() instanceof StateContentDTO) {
+ ContentStatusDTO currentStatus = session.getContentState().getStatus();
+ return status.equals(currentStatus);
+ }
+ return false;
+ }
});
action.setTextDescription(textDescription);
action.setParentMenuTitle(parentMenuTitle);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceMessages.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceMessages.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -2,7 +2,7 @@
public interface WorkspaceMessages {
String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
- String MUST_BE_BETWEEN_3_AND_15 = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes";
+ String FIELD_MUST_BE_BETWEEN_3_AND_15 = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes";
String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
String REGISTER_TO_CREATE_A_GROUP = "Please, sign in or register to create a group";
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/AbstractContentView.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -14,6 +14,8 @@
void setInfo(String info);
+ void setInfoMessage(String text);
+
void setNoPreview();
void setWidgetAsContent(final Widget widget, boolean setDefMargins);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -18,21 +18,21 @@
private static final String DEF_CONTENT_MARGINS_STYLE = "kune-Margin-7-trbl";
private final I18nTranslationService i18n;
- private final RoundedPanel previewPanel;
- private final IconLabel previewLabel;
+ private final RoundedPanel messagePanel;
+ private final IconLabel messageLabel;
public FoldableContentPanel(final WorkspaceSkeleton ws, I18nTranslationService i18n) {
super(ws);
this.i18n = i18n;
- previewLabel = new IconLabel(Images.App.getInstance().info(), "");
- previewLabel.addStyleName("k-preview-msg-lab");
- previewPanel = new RoundedPanel(previewLabel, RoundedPanel.ALL, 2);
- previewPanel.setCornerStyleName("k-preview-msg");
- previewPanel.addStyleName("kune-Margin-7-b");
+ messageLabel = new IconLabel(Images.App.getInstance().info(), "");
+ messageLabel.addStyleName("k-preview-msg-lab");
+ messagePanel = new RoundedPanel(messageLabel, RoundedPanel.ALL, 2);
+ messagePanel.setCornerStyleName("k-preview-msg");
+ messagePanel.addStyleName("kune-Margin-7-b");
}
public void setContent(String content, boolean showPreviewMsg) {
- final VerticalPanel vp = createPreviewVp(showPreviewMsg);
+ final VerticalPanel vp = createMessageVp(showPreviewMsg);
final HTML html = new HTML(content);
vp.add(html);
setWidgetAsContent(vp, true);
@@ -42,6 +42,12 @@
setLabel(info);
}
+ public void setInfoMessage(String text) {
+ VerticalPanel vp = createMessageVp(true);
+ messageLabel.setText(text);
+ setWidgetAsContent(vp, true);
+ }
+
public void setLabel(String text) {
Label label = new Label(text);
setDefStyle(label);
@@ -49,7 +55,7 @@
}
public void setNoPreview() {
- VerticalPanel vp = createPreviewVp(true);
+ VerticalPanel vp = createMessageVp(true);
setNoPreviewLabelMsg();
setWidgetAsContent(vp, true);
}
@@ -68,7 +74,7 @@
}
public void showImage(String imageUrl, String imageResizedUrl, boolean showPreviewMsg) {
- final VerticalPanel vp = createPreviewVp(showPreviewMsg);
+ final VerticalPanel vp = createMessageVp(showPreviewMsg);
final Image imgOrig = new Image(imageUrl);
final Image imgResized = new Image(imageResizedUrl);
KuneUiUtils.setQuickTip(imgOrig, i18n.t("Click to zoom out"));
@@ -94,11 +100,11 @@
Image.prefetch(imageUrl);
}
- private VerticalPanel createPreviewVp(boolean showPreviewMsg) {
+ private VerticalPanel createMessageVp(boolean showMsg) {
final VerticalPanel vp = new VerticalPanel();
- if (showPreviewMsg) {
+ if (showMsg) {
setDefPreviewMsg();
- vp.add(previewPanel);
+ vp.add(messagePanel);
}
return vp;
}
@@ -109,7 +115,7 @@
}
private void setDefPreviewMsg() {
- previewLabel.setText(i18n.t("This is only a preview, download it to get the complete file"));
+ messageLabel.setText(i18n.t("This is only a preview, download it to get the complete file"));
}
private void setDefStyle(final Widget widget) {
@@ -118,6 +124,6 @@
}
private void setNoPreviewLabelMsg() {
- previewLabel.setText(i18n.t("Preview not available"));
+ messageLabel.setText(i18n.t("Preview not available"));
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -9,6 +9,7 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
@@ -24,15 +25,17 @@
protected final Session session;
private final ActionContentToolbar toolbar;
private final Provider<FileDownloadUtils> downloadProvider;
+ private final I18nTranslationService i18n;
public FoldableContentPresenter(final String toolName, StateManager stateManager, Session session,
final ActionContentToolbar toolbar, ActionRegistry<StateToken> actionRegistry,
- Provider<FileDownloadUtils> downloadProvider) {
+ Provider<FileDownloadUtils> downloadProvider, I18nTranslationService i18n) {
this.toolName = toolName;
this.session = session;
this.toolbar = toolbar;
this.actionRegistry = actionRegistry;
this.downloadProvider = downloadProvider;
+ this.i18n = i18n;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(final StateAbstractDTO state) {
setState(state);
@@ -71,7 +74,11 @@
view.setNoPreview();
}
} else {
- view.setRawContent(contentBody);
+ if ((contentBody == null || contentBody.length() == 0) && state.getContentRights().isEditable()) {
+ view.setInfoMessage(i18n.t("There is currently no text in this page, you can edit this page"));
+ } else {
+ view.setRawContent(contentBody);
+ }
}
view.attach();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigator.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigator.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigator.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -41,10 +41,9 @@
void setEditOnNextStateChange(boolean edit);
+ void setFireOnTextChange(boolean visible);
+
void setItemStatus(StateToken stateToken, ContentStatusDTO status);
- void setItemText(StateToken stateToken, String name);
-
void setState(StateContainerDTO state, boolean selectItem);
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ctxnav/ContextNavigatorPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -47,13 +47,12 @@
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.download.ImageSize;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
+import org.ourproject.kune.workspace.client.title.RenameAction;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener0;
-import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.calclab.suco.client.listener.Listener2;
public class ContextNavigatorPresenter implements ContextNavigator {
@@ -63,7 +62,6 @@
private final Provider<ContentServiceAsync> contentServiceProvider;
private final I18nUITranslationService i18n;
private final HashMap<StateToken, ActionItemCollection<StateToken>> actionsByItem;
- private final EntityTitle entityTitle;
private boolean editOnNextStateChange;
private final ContentIconsRegistry contentIconsRegistry;
private final ActionRegistry<StateToken> actionRegistry;
@@ -71,30 +69,31 @@
private final Provider<FileDownloadUtils> downloadUtilsProvider;
private final boolean useGenericImageIcon;
private final ContentCapabilitiesRegistry capabilitiesRegistry;
+ private final RenameAction renameAction;
public ContextNavigatorPresenter(final StateManager stateManager, final Session session,
final Provider<ContentServiceAsync> contentServiceProvider, final I18nUITranslationService i18n,
- final EntityTitle entityTitle, final ContentIconsRegistry contentIconsRegistry,
- ContentCapabilitiesRegistry capabilitiesRegistry, final ActionToolbar<StateToken> toolbar,
- final ActionRegistry<StateToken> actionRegistry, Provider<FileDownloadUtils> downloadUtilsProvider,
- boolean useGenericImageIcon) {
+ final ContentIconsRegistry contentIconsRegistry, ContentCapabilitiesRegistry capabilitiesRegistry,
+ final ActionToolbar<StateToken> toolbar, final ActionRegistry<StateToken> actionRegistry,
+ Provider<FileDownloadUtils> downloadUtilsProvider, boolean useGenericImageIcon, RenameAction renameAction) {
this.stateManager = stateManager;
this.session = session;
this.contentServiceProvider = contentServiceProvider;
this.i18n = i18n;
- this.entityTitle = entityTitle;
this.contentIconsRegistry = contentIconsRegistry;
this.capabilitiesRegistry = capabilitiesRegistry;
this.actionRegistry = actionRegistry;
this.toolbar = toolbar;
this.downloadUtilsProvider = downloadUtilsProvider;
this.useGenericImageIcon = useGenericImageIcon;
+ this.renameAction = renameAction;
actionsByItem = new HashMap<StateToken, ActionItemCollection<StateToken>>();
editOnNextStateChange = false;
+ confRenameListener();
}
public void attach() {
- // FIXME At the moment detach (removeFromParent) destroy the gwt-eext
+ // FIXME At the moment detach (removeFromParent) destroy the gwt-ext
// TreePanel and the widget must be recreated (cannot be attached again
// like in gwt)
setState(session.getCurrentState(), true);
@@ -143,32 +142,7 @@
}
public void onItemRename(final String token, final String newName, final String oldName) {
- if (!newName.equals(oldName)) {
- Site.showProgress(i18n.t("Renaming"));
- final StateToken stateToken = new StateToken(token);
- final AsyncCallback<String> asyncCallback = new AsyncCallback<String>() {
- public void onFailure(final Throwable caught) {
- view.setFireOnTextChange(false);
- setItemText(stateToken, oldName);
- view.setFireOnTextChange(true);
- Site.error(i18n.t("Error renaming"));
- Site.hideProgress();
- }
-
- public void onSuccess(final String result) {
- Site.hideProgress();
- if (session.getCurrentState().getStateToken().getEncoded().equals(token)) {
- // I have to update EntityTitle
- entityTitle.setContentTitle(newName);
- }
- }
- };
- if (stateToken.isComplete()) {
- contentServiceProvider.get().renameContent(session.getUserHash(), stateToken, newName, asyncCallback);
- } else {
- contentServiceProvider.get().renameContainer(session.getUserHash(), stateToken, newName, asyncCallback);
- }
- }
+ renameAction.rename(new StateToken(token), oldName, newName);
}
public void refresh(final StateToken stateToken) {
@@ -190,14 +164,14 @@
editOnNextStateChange = edit;
}
+ public void setFireOnTextChange(boolean visible) {
+ view.setFireOnTextChange(visible);
+ }
+
public void setItemStatus(final StateToken stateToken, ContentStatusDTO status) {
view.setItemStatus(genId(stateToken), status);
}
- public void setItemText(final StateToken stateToken, final String name) {
- view.setItemText(genId(stateToken), name);
- }
-
public void setState(final StateContainerDTO state, final boolean select) {
setStateContainer(state, select);
}
@@ -288,6 +262,25 @@
return toolbarActions;
}
+ private void confRenameListener() {
+ Listener2<StateToken, String> onSuccess = new Listener2<StateToken, String>() {
+ public void onEvent(StateToken token, String newName) {
+ view.setFireOnTextChange(false);
+ setItemText(token, newName);
+ view.setFireOnTextChange(true);
+ }
+ };
+ renameAction.onSuccess(onSuccess);
+ Listener2<StateToken, String> onFail = new Listener2<StateToken, String>() {
+ public void onEvent(StateToken token, String oldName) {
+ view.setFireOnTextChange(false);
+ setItemText(token, oldName);
+ view.setFireOnTextChange(true);
+ }
+ };
+ renameAction.onFail(onFail);
+ }
+
private void createChildItems(final ContainerDTO container, final AccessRightsDTO containerRights) {
for (final ContentSimpleDTO content : container.getContents()) {
addItem(content.getTitle(), content.getTypeId(), content.getMimeType(), content.getStatus(),
@@ -340,6 +333,10 @@
}
}
+ private void setItemText(final StateToken stateToken, final String name) {
+ view.setItemText(genId(stateToken), name);
+ }
+
private void setState(final StateAbstractDTO state, boolean select) {
if (state instanceof StateContainerDTO) {
setState((StateContainerDTO) state, select);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -235,9 +235,9 @@
shortNameField.setMaxLength(15);
shortNameField.setAllowBlank(false);
shortNameField.setRegex("^[a-z0-9_\\-]+$");
- shortNameField.setMinLengthText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
- shortNameField.setMaxLengthText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
- shortNameField.setRegexText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
+ shortNameField.setMinLengthText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameField.setMaxLengthText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameField.setRegexText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
shortNameField.setValidationDelay(1000);
form.add(shortNameField);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -33,7 +33,7 @@
public NoHomePagePanel(final NoHomePagePresenter presenter, final WorkspaceSkeleton ws, I18nTranslationService i18n) {
this.ws = ws;
- noHomepageCtnLabel = new Label(i18n.t(PlatfMessages.USER_DON_T_HAVE_A_HOMEPAGE));
+ noHomepageCtnLabel = new Label(i18n.t(PlatfMessages.USER_DOESN_T_HAVE_A_HOMEPAGE));
noHomepageCtnLabel.ensureDebugId(NO_HOME_PAGE_LABEL);
noHomepageCtnLabel.setStyleName("kune-Content-Main");
noHomepageCtnLabel.addStyleName("kune-Margin-7-trbl");
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -72,9 +72,9 @@
shortNameRegField.setMinLength(3);
shortNameRegField.setMaxLength(15);
shortNameRegField.setRegex("^[a-z0-9_\\-]+$");
- shortNameRegField.setMinLengthText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
- shortNameRegField.setMaxLengthText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
- shortNameRegField.setRegexText(i18n.t(WorkspaceMessages.MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.setMinLengthText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.setMaxLengthText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.setRegexText(i18n.t(WorkspaceMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
shortNameRegField.setValidationEvent(false);
add(shortNameRegField);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -26,13 +26,14 @@
import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
-import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.actions.UserActionRegistry;
import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
import org.ourproject.kune.platf.client.dto.AccessRolDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
@@ -52,6 +53,8 @@
public class BuddiesSummaryPresenter extends SocialNetworkPresenter implements BuddiesSummary {
+ public static final String BUDDIES_VISIBILITY_GROUP = "k-bsp-bud-visib";
+
private BuddiesSummaryView view;
private final StateManager stateManager;
private final UserActionRegistry actionRegistry;
@@ -145,7 +148,7 @@
}
private void createSetBuddiesVisibilityAction(String textDescription, final UserBuddiesVisibilityDTO visibility) {
- ActionToolbarMenuDescriptor<UserSimpleDTO> buddiesVisibilityAction = new ActionToolbarMenuDescriptor<UserSimpleDTO>(
+ ActionToolbarMenuRadioDescriptor<UserSimpleDTO> buddiesVisibilityAction = new ActionToolbarMenuRadioDescriptor<UserSimpleDTO>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<UserSimpleDTO>() {
public void onEvent(UserSimpleDTO parameter) {
userServiceAsync.get().setBuddiesVisibility(session.getUserHash(),
@@ -156,6 +159,15 @@
}
});
}
+ }, BUDDIES_VISIBILITY_GROUP, new RadioMustBeChecked() {
+ public boolean mustBeChecked() {
+ StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState.getGroup().isPersonal()) {
+ SocialNetworkDataDTO socialNetworkData = currentState.getSocialNetworkData();
+ return socialNetworkData.getUserBuddiesVisibility().equals(visibility);
+ }
+ return false;
+ }
});
buddiesVisibilityAction.setTextDescription(textDescription);
buddiesVisibilityAction.setParentMenuTitle(i18n.t("Options"));
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -22,6 +22,7 @@
import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuRadioDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
@@ -59,6 +60,8 @@
public class GroupMembersSummaryPresenter extends SocialNetworkPresenter implements GroupMembersSummary {
+ public static final String MEMBERS_VISIBILITY_GROUP = "k-gmsp-memb-visib";
+
private GroupMembersSummaryView view;
private final I18nUITranslationService i18n;
private final GridGroup adminCategory;
@@ -176,7 +179,7 @@
}
private void createSetMembersVisibilityAction(String textDescription, final SocialNetworkVisibilityDTO visibility) {
- ActionToolbarMenuDescriptor<StateToken> showMembers = new ActionToolbarMenuDescriptor<StateToken>(
+ ActionToolbarMenuRadioDescriptor<StateToken> showMembers = new ActionToolbarMenuRadioDescriptor<StateToken>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
groupServiceProvider.get().setSocialNetworkVisibility(session.getUserHash(),
@@ -187,6 +190,15 @@
}
});
}
+ }, MEMBERS_VISIBILITY_GROUP, new RadioMustBeChecked() {
+ public boolean mustBeChecked() {
+ StateAbstractDTO currentState = session.getCurrentState();
+ if (!currentState.getGroup().isPersonal()) {
+ SocialNetworkDataDTO socialNetworkData = currentState.getSocialNetworkData();
+ return socialNetworkData.getSocialNetworkVisibility().equals(visibility);
+ }
+ return false;
+ }
});
showMembers.setTextDescription(textDescription);
showMembers.setParentMenuTitle(i18n.t("Options"));
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/RadioMustBeChecked.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/RadioMustBeChecked.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/RadioMustBeChecked.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+public interface RadioMustBeChecked {
+ boolean mustBeChecked();
+}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -24,6 +24,7 @@
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import com.calclab.suco.client.listener.Listener2;
import com.google.gwt.user.client.ui.Image;
public class EntityTitlePanel implements EntityTitleView {
@@ -34,11 +35,16 @@
public EntityTitlePanel(final WorkspaceSkeleton ws, final EntityTitlePresenter presenter) {
icon = new Image();
titleLabel = new EditableIconLabel(new EditableClickListener() {
- public void onEdited(final String text) {
- presenter.onTitleRename(text);
+ public void onEdited(final String newName) {
}
});
+ titleLabel.onEdit(new Listener2<String, String>() {
+ public void onEvent(String oldName, String newName) {
+ presenter.onTitleRename(oldName, newName);
+ }
+ });
+
final SimpleToolbar wsTitle = ws.getEntityWorkspace().getTitleComponent();
wsTitle.add(icon);
wsTitle.add(titleLabel);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -26,37 +26,27 @@
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.registry.RenamableRegistry;
-import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.services.KuneErrorHandler;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.site.Site;
-import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
-import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.calclab.suco.client.listener.Listener2;
public class EntityTitlePresenter implements EntityTitle {
private EntityTitleView view;
- private final KuneErrorHandler errorHandler;
- private final Provider<ContentServiceAsync> contentServiceProvider;
private final Session session;
- private final Provider<ContextNavigator> contextNavigatorProvider;
private final ContentIconsRegistry iconsRegistry;
private final RenamableRegistry renamableContentRegistry;
+ private final RenameAction renameAction;
- public EntityTitlePresenter(final KuneErrorHandler errorHandler, final StateManager stateManager,
- final Session session, final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<ContextNavigator> contextNavigatorProvider, final ContentIconsRegistry iconsRegistry,
- RenamableRegistry renamableContentRegistry) {
- this.errorHandler = errorHandler;
+ public EntityTitlePresenter(final StateManager stateManager, final Session session,
+ final ContentIconsRegistry iconsRegistry, RenamableRegistry renamableContentRegistry,
+ RenameAction renameAction) {
this.session = session;
- this.contentServiceProvider = contentServiceProvider;
- this.contextNavigatorProvider = contextNavigatorProvider;
this.iconsRegistry = iconsRegistry;
this.renamableContentRegistry = renamableContentRegistry;
+ this.renameAction = renameAction;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(final StateAbstractDTO state) {
if (state instanceof StateContentDTO) {
@@ -69,6 +59,7 @@
}
}
});
+ createRenameListeners();
}
public View getView() {
@@ -87,27 +78,24 @@
view.setContentTitleVisible(true);
}
- protected void onTitleRename(final String newName) {
- Site.showProgressSaving();
- final StateToken stateToken = session.getCurrentState().getStateToken();
- final AsyncCallback<String> asyncCallback = new AsyncCallback<String>() {
- public void onFailure(final Throwable caught) {
- view.restoreOldTitle();
- errorHandler.process(caught);
- }
+ protected void onTitleRename(final String oldName, final String newName) {
+ final StateToken token = session.getCurrentState().getStateToken();
+ renameAction.rename(token, oldName, newName);
+ }
- public void onSuccess(final String result) {
- Site.hideProgress();
- view.setContentTitle(result);
- contextNavigatorProvider.get().setItemText(stateToken, newName);
+ private void createRenameListeners() {
+ Listener2<StateToken, String> onSuccess = new Listener2<StateToken, String>() {
+ public void onEvent(StateToken token, String newName) {
+ view.setContentTitle(newName);
}
};
- if (stateToken.isComplete()) {
- contentServiceProvider.get().renameContent(session.getUserHash(), stateToken, newName, asyncCallback);
- } else {
- contentServiceProvider.get().renameContainer(session.getUserHash(), stateToken, newName, asyncCallback);
- }
- Site.hideProgress();
+ renameAction.onSuccess(onSuccess);
+ Listener2<StateToken, String> onFail = new Listener2<StateToken, String>() {
+ public void onEvent(StateToken token, String oldName) {
+ view.setContentTitle(oldName);
+ }
+ };
+ renameAction.onFail(onFail);
}
private void setContentTitle(final String title, final boolean editable) {
@@ -140,5 +128,4 @@
setIcon(contentTypeIcon);
view.setContentTitleVisible(true);
}
-
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/RenameAction.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,71 @@
+package org.ourproject.kune.workspace.client.title;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.errors.NameInUseException;
+import org.ourproject.kune.platf.client.errors.NameNotPermittedException;
+import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.workspace.client.site.Site;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Event2;
+import com.calclab.suco.client.listener.Listener2;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public class RenameAction {
+ private final I18nTranslationService i18n;
+ private final Provider<ContentServiceAsync> contentService;
+ private final Session session;
+ private final Event2<StateToken, String> onSuccess;
+ private final Event2<StateToken, String> onFail;
+
+ public RenameAction(I18nTranslationService i18n, Session session, Provider<ContentServiceAsync> contentService) {
+ this.i18n = i18n;
+ this.session = session;
+ this.contentService = contentService;
+ this.onSuccess = new Event2<StateToken, String>("onSuccess");
+ this.onFail = new Event2<StateToken, String>("onFail");
+ }
+
+ public void onFail(final Listener2<StateToken, String> slot) {
+ onFail.add(slot);
+ }
+
+ public void onSuccess(final Listener2<StateToken, String> slot) {
+ onSuccess.add(slot);
+ }
+
+ public void rename(final StateToken token, final String oldName, final String newName) {
+ if (!newName.equals(oldName)) {
+ Site.showProgress(i18n.t("Renaming"));
+ final AsyncCallback<String> asyncCallback = new AsyncCallback<String>() {
+ public void onFailure(final Throwable caught) {
+ Site.hideProgress();
+ try {
+ throw caught;
+ } catch (final NameInUseException e) {
+ Site.error(i18n.tWithNT("This name already exists",
+ "Used when a file or a folder with the same name already exists"));
+ } catch (final NameNotPermittedException e) {
+ Site.error(i18n.tWithNT("This name is not permitted",
+ "Used when a file or a folder has a not permitted name"));
+ } catch (final Throwable e) {
+ Site.error(i18n.t("Error renaming"));
+ }
+ onFail.fire(token, oldName);
+ }
+
+ public void onSuccess(final String finalNewName) {
+ Site.hideProgress();
+ onSuccess.fire(token, finalNewName);
+ }
+ };
+ if (token.isComplete()) {
+ contentService.get().renameContent(session.getUserHash(), token, newName, asyncCallback);
+ } else {
+ contentService.get().renameContainer(session.getUserHash(), token, newName, asyncCallback);
+ }
+ }
+ }
+}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -51,7 +51,7 @@
click(RegisterPanel.WELCOME_OK_BUTTON);
clickOnPushButton(gid(SiteUserMenuPanel.LOGGED_USER_MENU));
click(linkId(PlatfMessages.YOUR_HOMEPAGE));
- waitForTextInside(gid(NoHomePagePanel.NO_HOME_PAGE_LABEL), PlatfMessages.USER_DON_T_HAVE_A_HOMEPAGE);
+ waitForTextInside(gid(NoHomePagePanel.NO_HOME_PAGE_LABEL), PlatfMessages.USER_DOESN_T_HAVE_A_HOMEPAGE);
}
@Test
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/content/ContentManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/content/ContentManagerDefaultTest.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/content/ContentManagerDefaultTest.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -1,13 +1,12 @@
package org.ourproject.kune.platf.server.content;
-
public class ContentManagerDefaultTest {// extends PersistenceTest {
ContentManagerDefault manager;
// @Before
public void before() {
- manager = new ContentManagerDefault(null, null, null, null, null);
+ manager = new ContentManagerDefault(null, null, null, null, null, null, null);
}
}
Added: trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerTest.java 2008-12-06 19:36:56 UTC (rev 988)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/file/FileDownloadManagerTest.java 2008-12-10 01:36:03 UTC (rev 989)
@@ -0,0 +1,181 @@
+package org.ourproject.kune.platf.server.manager.file;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.ui.download.ImageSize;
+import org.ourproject.kune.platf.integration.IntegrationTestHelper;
+import org.ourproject.kune.platf.server.domain.BasicMimeType;
+import org.ourproject.kune.platf.server.domain.Content;
+import org.ourproject.kune.platf.server.properties.KuneProperties;
+
+import com.google.inject.Inject;
+
+public class FileDownloadManagerTest {
+
+ private static final String SOMETITLE = "Sometitle";
+
+ @Inject
+ FileDownloadManager fileDownloadManager;
+
+ @Inject
+ KuneProperties kuneProperties;
+
+ private HttpServletResponse resp;
+ private Content content;
+
+ private String uploadLocation;
+
+ private FileUtils fileUtils;
+
+ private StateToken stateToken;
+
+ private String filename;
+
+ @Before
+ public void create() throws IOException {
+ new IntegrationTestHelper(this);
+ content = Mockito.mock(Content.class);
+ resp = Mockito.mock(HttpServletResponse.class);
+ ServletOutputStream oStream = Mockito.mock(ServletOutputStream.class);
+
+ Mockito.stub(resp.getOutputStream()).toReturn(oStream);
+ uploadLocation = kuneProperties.get(KuneProperties.UPLOAD_LOCATION);
+
+ fileUtils = Mockito.mock(FileUtils.class);
+ Mockito.stub(fileUtils.exist(Mockito.anyString())).toReturn(true);
+ stateToken = new StateToken("test.test.1.1");
+ filename = "somefile";
+
+ Mockito.stub(content.getTitle()).toReturn(SOMETITLE);
+ }
+
+ @Test
+ public void fileWithNoExtensionDownloadTest() throws Exception {
+ throw new Exception("TODO");
+ }
+
+ @Test
+ public void testJpgThumbDownload() throws IOException {
+ String extension = ".jpg";
+ contentStub(new BasicMimeType("image", "jpg"), filename, extension);
+ String subExt = ImageSize.thumb.toString();
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "false", subExt, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + "." + subExt + extension, absFile);
+ Mockito.verify(resp).setContentType("image/jpg");
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + extension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPdfDownload1() throws IOException {
+ String extension = ".pdf";
+ contentStub(new BasicMimeType("application", "pdf"), filename, extension);
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "true", ImageSize.ico.toString(), resp,
+ fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + extension, absFile);
+ Mockito.verify(resp).setContentType(FileDownloadManager.APPLICATION_X_DOWNLOAD);
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + extension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPdfDownload2() throws IOException {
+ String pngExtension = ".png";
+ contentStub(new BasicMimeType("application", "pdf"), filename, ".pdf");
+ String subExt = ImageSize.ico.toString();
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "false", subExt, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + "." + subExt + pngExtension, absFile);
+ Mockito.verify(resp).setContentType("image/png");
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + pngExtension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPdfDownload3() throws IOException {
+ String pngExtension = ".png";
+ contentStub(new BasicMimeType("application", "pdf"), filename, ".pdf");
+ String subExt = ImageSize.sized.toString();
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "false", subExt, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + "." + subExt + pngExtension, absFile);
+ Mockito.verify(resp).setContentType("image/png");
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + pngExtension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPdfDownload4() throws IOException {
+ String pngExtension = ".png";
+ contentStub(new BasicMimeType("application", "pdf"), filename, ".pdf");
+ String subExt = ImageSize.thumb.toString();
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "false", subExt, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + "." + subExt + pngExtension, absFile);
+ Mockito.verify(resp).setContentType("image/png");
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + pngExtension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPdfDownloadNullMime() throws IOException {
+ String extension = ".pdf";
+ contentStub(null, filename, extension);
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "true", ImageSize.ico.toString(), resp,
+ fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + extension, absFile);
+ Mockito.verify(resp).setContentType(FileDownloadManager.APPLICATION_X_DOWNLOAD);
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + extension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPngDownload1() throws IOException {
+ String extension = ".png";
+ contentStub(new BasicMimeType("image", "png"), filename, extension);
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "true", null, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + extension, absFile);
+ Mockito.verify(resp).setContentType(FileDownloadManager.APPLICATION_X_DOWNLOAD);
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + extension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ @Test
+ public void testPngDownload2() throws IOException {
+ String extension = ".png";
+ contentStub(new BasicMimeType("image", "png"), filename, extension);
+ String subExt = ImageSize.thumb.toString();
+ String absFile = fileDownloadManager.buildResponse(content, stateToken, "false", subExt, resp, fileUtils);
+ assertEquals(uploadLocation + FileUtils.toDir(stateToken) + filename + "." + subExt + extension, absFile);
+ Mockito.verify(resp).setContentType("image/png");
+ Mockito.verify(resp).setHeader(
+ FileDownloadManager.RESP_HEADER_CONTEND_DISP,
+ FileDownloadManager.RESP_HEADER_ATTACHMENT_FILENAME + SOMETITLE + extension
+ + FileDownloadManager.RESP_HEADER_END);
+ }
+
+ private void contentStub(BasicMimeType mimeType, String filename, String extension) {
+ Mockito.stub(content.getMimeType()).toReturn(mimeType);
+ Mockito.stub(content.getFilename()).toReturn(filename + extension);
+ }
+}
1
0