[kune-commits] r914 - in trunk: . img/icons img/icons/persons script src/main/java/org/ourproject/kune/chat/client src/main/java/org/ourproject/kune/chat/server/managers src/main/java/org/ourproject/kune/docs/client src/main/java/org/ourproject/kune/platf/client/dto src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/state src/main/java/org/ourproject/kune/platf/public/images src/main/java/org/ourproject/kune/platf/public/images/persons src/main/java/org/ourproject/kune/platf/server src/main/java/org/ourproject/kune/platf/server/access src/main/java/org/ourproject/kune/platf/server/manager src/main/java/org/ourproject/kune/platf/server/manager/impl src/main/java/org/ourproject/kune/platf/server/rpc src/main/java/org/ourproject/kune/platf/server/sn src/main/java/org/ourproject/kune/platf/server/state src/main/java/org/ourproject/kune/platf/server/users src/main/java/org/ourproject/kune/workspace/client/socialnet src/main/resources src/test/java/org/ourproject/kune/chat/server/managers src/test/java/org/ourproject/kune/platf/server/manager/impl

vjrj vjrj at ourproject.org
Thu Oct 16 21:58:01 CEST 2008


Author: vjrj
Date: 2008-10-16 21:57:50 +0200 (Thu, 16 Oct 2008)
New Revision: 914

Added:
   trunk/img/icons/person.svg
   trunk/img/icons/persons/
   trunk/img/icons/persons/person1-16.png
   trunk/img/icons/persons/person1-32.png
   trunk/img/icons/persons/person1-85.png
   trunk/img/icons/persons/person2-16.png
   trunk/img/icons/persons/person2-32.png
   trunk/img/icons/persons/person2-85.png
   trunk/img/icons/persons/person3-16.png
   trunk/img/icons/persons/person3-32.png
   trunk/img/icons/persons/person3-85.png
   trunk/img/icons/persons/person4-16.png
   trunk/img/icons/persons/person4-32.png
   trunk/img/icons/persons/person4-85.png
   trunk/img/icons/persons/person5-16.png
   trunk/img/icons/persons/person5-32.png
   trunk/img/icons/persons/person5-85.png
   trunk/img/icons/persons/person6-16.png
   trunk/img/icons/persons/person6-32.png
   trunk/img/icons/persons/person6-85.png
   trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png
   trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png
   trunk/src/main/java/org/ourproject/kune/platf/server/sn/
   trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java
   trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
Removed:
   trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java
Modified:
   trunk/pom.xml
   trunk/script/generateBasicUIElements.sh
   trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
   trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java
   trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java
   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/KunePlatformModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/public/images/person-def.png
   trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
   trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java
   trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
   trunk/src/main/resources/dozerBeanMapping.xml
   trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
Log:
Incomplete - task User buddies SocialNetwork part 

Incomplete - task Tools must me optional and User/Group creation must reflesh this 


Added: trunk/img/icons/person.svg
===================================================================
--- trunk/img/icons/person.svg	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/img/icons/person.svg	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,662 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   id="svg3567"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="person.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3569">
+    <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="perspective3575" />
+    <inkscape:perspective
+       id="perspective4643"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="380.83857"
+     inkscape:cy="884.33083"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="951"
+     inkscape:window-x="1280"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata3572">
+    <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">
+    <g
+       id="g4515"
+       transform="translate(20.757622,-1.719218)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-85.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path17249"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)" />
+      <path
+         id="path17234"
+         d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path17236"
+         style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g4530"
+       transform="translate(-3.267982,-5.502468)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-85.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path3603"
+         style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z"
+         id="path3605" />
+      <path
+         sodipodi:nodetypes="csssc"
+         id="path3607"
+         d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z"
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       id="g4510"
+       transform="translate(0.243294,-5.502458)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-85.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path3628"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" />
+      <path
+         id="path3630"
+         d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate"
+         d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z"
+         id="path3632"
+         sodipodi:nodetypes="csssc" />
+    </g>
+    <g
+       id="g4525"
+       transform="translate(-2.467941,-5.502459)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-85.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path3660"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z"
+         id="path3662" />
+      <path
+         sodipodi:nodetypes="csssc"
+         id="path3664"
+         d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z"
+         style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       id="g4520"
+       transform="translate(23.468872,-2.433779)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-85.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4476"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)" />
+      <path
+         id="path4478"
+         d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4480"
+         style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g4535"
+       transform="translate(24.268845,-12.428838)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-85.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4484"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)" />
+      <path
+         id="path4486"
+         d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4488"
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g4540"
+       transform="matrix(0.3764923,0,0,0.3764923,102.537,65.71322)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-32.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4542"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z"
+         id="path4544" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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="path4546"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+    </g>
+    <g
+       id="g4548"
+       transform="matrix(0.3764923,0,0,0.3764923,102.78397,147.43392)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-32.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4550"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z"
+         id="path4552" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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="path4554"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+    </g>
+    <g
+       id="g4556"
+       transform="matrix(0.3764923,0,0,0.3764923,102.56045,222.8594)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-32.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4558"
+         style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z"
+         id="path4560" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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="path4562"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,52.093488,86.07207)"
+       id="g4564"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person1-16.png"
+       inkscape:export-xdpi="89.99485"
+       inkscape:export-ydpi="89.99485">
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4566"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,480.51643,-696.54479)" />
+      <path
+         id="path4568"
+         d="M 303.77805,68.375596 C 293.58885,68.375596 283.35081,72.22062 275.58218,79.996355 C 260.15886,95.433877 260.05324,120.36456 275.25046,135.94201 C 273.08783,126.46484 275.84182,116.09285 283.21165,108.71623 C 294.60729,97.310092 312.94881,97.310092 324.34445,108.71623 C 331.71423,116.09285 334.46827,126.46484 332.30564,135.94201 C 347.50291,120.36451 347.39735,95.433877 331.97393,79.996355 C 324.20535,72.22062 313.96726,68.375596 303.77805,68.375596 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,627.39292,-109.63872)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4570"
+         style="opacity:1;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,50.650108,192.6812)"
+       id="g4572"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person3-16.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4574"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,478.73833,-564.33269)" />
+      <path
+         id="path4576"
+         d="M 301.99995,200.5877 C 291.81075,200.5877 281.57271,204.43272 273.80408,212.20846 C 258.38076,227.64598 258.27514,252.57666 273.47236,268.15411 C 271.30973,258.67694 274.06372,248.30495 281.43355,240.92833 C 292.82919,229.52219 311.17071,229.52219 322.56635,240.92833 C 329.93613,248.30495 332.69017,258.67694 330.52754,268.15411 C 345.72481,252.57661 345.61925,227.64598 330.19583,212.20846 C 322.42725,204.43272 312.18916,200.5877 301.99995,200.5877 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,625.61482,22.573385)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4578"
+         style="opacity:1;fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,49.838354,293.8964)"
+       id="g4580"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person5-16.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4582"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,477.73833,-427.33272)" />
+      <path
+         id="path4584"
+         d="M 300.99995,337.58767 C 290.81075,337.58767 280.57271,341.43269 272.80408,349.20843 C 257.38076,364.64595 257.27514,389.57663 272.47236,405.15408 C 270.30973,395.67691 273.06372,385.30492 280.43355,377.9283 C 291.82919,366.52216 310.17071,366.52216 321.56635,377.9283 C 328.93613,385.30492 331.69017,395.67691 329.52754,405.15408 C 344.72481,389.57658 344.61925,364.64595 329.19583,349.20843 C 321.42725,341.43269 311.18916,337.58767 300.99995,337.58767 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         transform="matrix(1.0508232,1.0517911,-1.0946071,1.0956153,624.61482,159.57335)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4586"
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:3.49927115;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"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g4588"
+       transform="matrix(0.3764923,0,0,0.3764923,379.16333,225.46712)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-32.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4590"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)" />
+      <path
+         id="path4592"
+         d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate"
+         d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z"
+         id="path4594"
+         sodipodi:nodetypes="csssc" />
+    </g>
+    <g
+       id="g4596"
+       transform="matrix(0.3764923,0,0,0.3764923,377.17794,64.28886)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-32.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4598"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z"
+         id="path4600" />
+      <path
+         sodipodi:nodetypes="csssc"
+         id="path4602"
+         d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z"
+         style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       id="g4604"
+       transform="matrix(0.3764923,0,0,0.3764923,378.93987,146.27859)"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-32.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4606"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)" />
+      <path
+         id="path4608"
+         d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate"
+         d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z"
+         id="path4610"
+         sodipodi:nodetypes="csssc" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,570.98451,295.20026)"
+       id="g4612"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person6-16.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,614.65933,-434.25909)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4614"
+         style="fill:#abc837;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 437.92095,330.6613 C 427.73175,330.6613 417.49371,334.50632 409.72508,342.28206 C 394.30176,357.71958 394.19614,382.65026 409.39336,398.22771 C 407.23073,388.75054 409.98472,378.37855 417.35455,371.00193 C 428.75019,359.59579 447.09171,359.59579 458.48735,371.00193 C 465.85713,378.37855 468.61117,388.75054 466.44854,398.22771 C 481.64581,382.65021 481.54025,357.71958 466.11683,342.28206 C 458.34825,334.50632 448.11016,330.6613 437.92095,330.6613 z"
+         id="path4616" />
+      <path
+         sodipodi:nodetypes="csssc"
+         id="path4618"
+         d="M 460.05116,364.96552 C 455.38897,371.83641 432.14686,380.28156 424.78848,372.95567 C 417.51844,365.71771 417.5378,353.91825 424.78848,346.6609 C 432.03916,339.40354 443.80837,339.40354 451.05905,346.6609 C 458.30973,353.91826 455.3126,357.26255 460.05116,364.96552 z"
+         style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,566.11399,85.35989)"
+       id="g4620"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-16.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/svn/trunk/img/group-def-icon.png"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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="path4622"
+         sodipodi:cx="-55.5"
+         sodipodi:cy="242.36218"
+         sodipodi:rx="12.5"
+         sodipodi:ry="12"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" />
+      <path
+         id="path4624"
+         d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z"
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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" />
+      <path
+         style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate"
+         d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z"
+         id="path4626"
+         sodipodi:nodetypes="csssc" />
+    </g>
+    <g
+       transform="matrix(0.1882461,0,0,0.1882461,570.17277,192.10353)"
+       id="g4628"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person4-16.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         transform="matrix(3.1844753,0,0,3.3202165,613.65933,-561.26401)"
+         d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+         sodipodi:ry="12"
+         sodipodi:rx="12.5"
+         sodipodi:cy="242.36218"
+         sodipodi:cx="-55.5"
+         id="path4630"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;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"
+         sodipodi:type="arc"
+         inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+         inkscape:export-xdpi="90"
+         inkscape:export-ydpi="90" />
+      <path
+         style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;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"
+         d="M 436.92095,203.65638 C 426.73175,203.65638 416.49371,207.5014 408.72508,215.27714 C 393.30176,230.71466 393.19614,255.64534 408.39336,271.22279 C 406.23073,261.74562 408.98472,251.37363 416.35455,243.99701 C 427.75019,232.59087 446.09171,232.59087 457.48735,243.99701 C 464.85713,251.37363 467.61117,261.74562 465.44854,271.22279 C 480.64581,255.64529 480.54025,230.71466 465.11683,215.27714 C 457.34825,207.5014 447.11016,203.65638 436.92095,203.65638 z"
+         id="path4632" />
+      <path
+         sodipodi:nodetypes="csssc"
+         id="path4634"
+         d="M 459.05116,237.9606 C 454.38897,244.83149 431.14686,253.27664 423.78848,245.95076 C 416.51844,238.7128 416.5378,226.91334 423.78848,219.65598 C 431.03916,212.39863 442.80837,212.39863 450.05905,219.65599 C 457.30973,226.91335 454.3126,230.25764 459.05116,237.9606 z"
+         style="fill:#da5f0e;fill-opacity:1;fill-rule:nonzero;stroke:#673030;stroke-width:5.30990171;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:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+  </g>
+</svg>

Added: trunk/img/icons/persons/person1-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person1-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person1-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person1-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person1-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person1-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person2-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person2-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person2-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person2-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person2-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person2-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person3-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person3-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person3-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person3-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person3-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person3-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person4-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person4-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person4-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person4-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person4-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person4-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person5-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person5-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person5-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person5-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person5-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person5-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person6-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person6-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person6-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person6-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/img/icons/persons/person6-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/persons/person6-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/pom.xml	2008-10-16 19:57:50 UTC (rev 914)
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>com.calclab</groupId>
       <artifactId>suco</artifactId>
-      <version>0.5.06</version>
+      <version>0.5.11</version>
     </dependency>
 <dependency>
   <groupId>jmagick</groupId>
@@ -94,7 +94,7 @@
     <dependency>
       <groupId>com.calclab.emite</groupId>
       <artifactId>emite</artifactId>
-      <version>0.4.1</version>
+      <version>0.4.3</version>
     </dependency>
     <dependency>
       <groupId>org.jivesoftware.smack</groupId>

Modified: trunk/script/generateBasicUIElements.sh
===================================================================
--- trunk/script/generateBasicUIElements.sh	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/script/generateBasicUIElements.sh	2008-10-16 19:57:50 UTC (rev 914)
@@ -67,7 +67,7 @@
 cat <<EOF > $DIR/${NAME}Panel.java
 package $PACKAGE;
 
-import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 
 public class ${NAME}Panel implements ${NAME}View {
 
@@ -88,7 +88,7 @@
 register(Singleton.class, new Factory<${NAME}>(${NAME}.class) {
     public ${NAME} create() {
 	final ${NAME}Presenter presenter = new ${NAME}Presenter();
-	final ${NAME}Panel panel = new ${NAME}Panel(presenter, ws);
+	final ${NAME}Panel panel = new ${NAME}Panel(presenter, $(WorkspaceSkeleton.class));
 	presenter.init(panel);
 	return presenter;
     }

Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -40,71 +40,79 @@
     }
 
     @Override
-    public void onLoad() {
+    public void onInstall() {
 
-	register(Singleton.class, new Factory<ChatInfo>(ChatInfo.class) {
-	    public ChatInfo create() {
-		return new ChatInfoPanel();
-	    }
-	});
+        register(Singleton.class, new Factory<ChatInfo>(ChatInfo.class) {
+            @Override
+            public ChatInfo create() {
+                return new ChatInfoPanel();
+            }
+        });
 
-	register(ToolGroup.class, new Factory<ChatClientActions>(ChatClientActions.class) {
-	    public ChatClientActions create() {
-		return new ChatClientActions($(I18nUITranslationService.class), $(Session.class),
-			$(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(ChatClientTool.class));
-	    }
-	});
+        register(ToolGroup.class, new Factory<ChatClientActions>(ChatClientActions.class) {
+            @Override
+            public ChatClientActions create() {
+                return new ChatClientActions($(I18nUITranslationService.class), $(Session.class),
+                        $(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(ChatClientTool.class));
+            }
+        });
 
-	register(Singleton.class, new Factory<ChatContent>(ChatContent.class) {
-	    public ChatContent create() {
-		final WorkspaceDeckPanel panel = new WorkspaceDeckPanel();
-		final ChatContentPresenter presenter = new ChatContentPresenter($(EmiteUIDialog.class), panel,
-			$$(ChatInfo.class), $$(ChatRoom.class));
-		return presenter;
-	    }
-	});
+        register(Singleton.class, new Factory<ChatContent>(ChatContent.class) {
+            @Override
+            public ChatContent create() {
+                final WorkspaceDeckPanel panel = new WorkspaceDeckPanel();
+                final ChatContentPresenter presenter = new ChatContentPresenter($(EmiteUIDialog.class), panel,
+                        $$(ChatInfo.class), $$(ChatRoom.class));
+                return presenter;
+            }
+        });
 
-	register(Singleton.class, new Factory<ChatContext>(ChatContext.class) {
-	    public ChatContext create() {
-		final WorkspaceDeckPanel panel = new WorkspaceDeckPanel();
-		final ChatContextPresenter presenter = new ChatContextPresenter(panel, $$(RoomsAdmin.class));
-		return presenter;
-	    }
-	});
+        register(Singleton.class, new Factory<ChatContext>(ChatContext.class) {
+            @Override
+            public ChatContext create() {
+                final WorkspaceDeckPanel panel = new WorkspaceDeckPanel();
+                final ChatContextPresenter presenter = new ChatContextPresenter(panel, $$(RoomsAdmin.class));
+                return presenter;
+            }
+        });
 
-	register(Singleton.class, new Factory<ChatRoomControl>(ChatRoomControl.class) {
-	    public ChatRoomControl create() {
-		final ChatRoomControlPresenter presenter = new ChatRoomControlPresenter();
-		final ChatRoomControlPanel panel = new ChatRoomControlPanel($(I18nUITranslationService.class),
-			presenter);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
+        register(Singleton.class, new Factory<ChatRoomControl>(ChatRoomControl.class) {
+            @Override
+            public ChatRoomControl create() {
+                final ChatRoomControlPresenter presenter = new ChatRoomControlPresenter();
+                final ChatRoomControlPanel panel = new ChatRoomControlPanel($(I18nUITranslationService.class),
+                        presenter);
+                presenter.init(panel);
+                return presenter;
+            }
+        });
 
-	register(Singleton.class, new Factory<ChatRoom>(ChatRoom.class) {
-	    public ChatRoom create() {
-		final ChatRoomPanel panel = new ChatRoomPanel($(WorkspaceSkeleton.class));
-		final ChatRoomPresenter presenter = new ChatRoomPresenter(panel);
-		return presenter;
-	    }
-	});
-	register(Singleton.class, new Factory<RoomsAdmin>(RoomsAdmin.class) {
-	    public RoomsAdmin create() {
-		final RoomsAdminPresenter presenter = new RoomsAdminPresenter($(ContextNavigator.class),
-			$(I18nUITranslationService.class), $$(StateManager.class), $(Session.class),
-			$$(ContentServiceAsync.class));
-		return presenter;
-	    }
-	});
+        register(Singleton.class, new Factory<ChatRoom>(ChatRoom.class) {
+            @Override
+            public ChatRoom create() {
+                final ChatRoomPanel panel = new ChatRoomPanel($(WorkspaceSkeleton.class));
+                final ChatRoomPresenter presenter = new ChatRoomPresenter(panel);
+                return presenter;
+            }
+        });
+        register(Singleton.class, new Factory<RoomsAdmin>(RoomsAdmin.class) {
+            @Override
+            public RoomsAdmin create() {
+                final RoomsAdminPresenter presenter = new RoomsAdminPresenter($(ContextNavigator.class),
+                        $(I18nUITranslationService.class), $$(StateManager.class), $(Session.class),
+                        $$(ContentServiceAsync.class));
+                return presenter;
+            }
+        });
 
-	register(ToolGroup.class, new Factory<ChatClientTool>(ChatClientTool.class) {
-	    public ChatClientTool create() {
-		return new ChatClientTool($(Session.class), $(Application.class), $(I18nUITranslationService.class),
-			$(EmiteUIDialog.class), $(WorkspaceSkeleton.class), $$(GroupMembersSummary.class),
-			$(ToolSelector.class), $(WsThemePresenter.class), $$(ChatContent.class), $$(ChatContext.class));
-	    }
-	});
+        register(ToolGroup.class, new Factory<ChatClientTool>(ChatClientTool.class) {
+            @Override
+            public ChatClientTool create() {
+                return new ChatClientTool($(Session.class), $(Application.class), $(I18nUITranslationService.class),
+                        $(EmiteUIDialog.class), $(WorkspaceSkeleton.class), $$(GroupMembersSummary.class),
+                        $(ToolSelector.class), $(WsThemePresenter.class), $$(ChatContent.class), $$(ChatContext.class));
+            }
+        });
 
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManager.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -20,18 +20,24 @@
 
 package org.ourproject.kune.chat.server.managers;
 
+import java.util.Collection;
+
+import org.jivesoftware.smack.RosterEntry;
+
 public interface XmppManager {
 
-    ChatConnection login(String userName, String password, String resource);
+    Room createRoom(ChatConnection connection, String roomName, String ownerAlias);
 
+    void destroyRoom(ChatConnection conn, String roomName);
+
     void disconnect(ChatConnection connection);
 
-    Room createRoom(ChatConnection connection, String roomName, String ownerAlias);
+    Collection<RosterEntry> getRoster(ChatConnection connection);
 
     Room joinRoom(ChatConnection connection, String roomName, String alias);
 
+    ChatConnection login(String userName, String password, String resource);
+
     void sendMessage(Room room, String message);
 
-    void destroyRoom(ChatConnection conn, String roomName);
-
 }

Modified: trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/chat/server/managers/XmppManagerDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -21,10 +21,13 @@
 package org.ourproject.kune.chat.server.managers;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
 import org.jivesoftware.smack.ConnectionConfiguration;
+import org.jivesoftware.smack.Roster;
+import org.jivesoftware.smack.RosterEntry;
 import org.jivesoftware.smack.XMPPConnection;
 import org.jivesoftware.smack.XMPPException;
 import org.jivesoftware.smack.packet.Message;
@@ -46,26 +49,6 @@
         this.chatProperties = chatProperties;
     }
 
-    public ChatConnection login(final String userName, final String password, final String resource) {
-        ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222);
-        XMPPConnection conn = new XMPPConnection(config);
-        try {
-            conn.connect();
-            conn.login(userName, password, resource, true);
-            return new XmppConnection(userName, conn);
-        } catch (XMPPException e) {
-            throw new ChatException(e);
-        }
-    }
-
-    private String getServerName() {
-        return chatProperties.getDomain();
-    }
-
-    private String getRoomName(final String room) {
-        return room + "@" + chatProperties.getRoomHost();
-    }
-
     public Room createRoom(final ChatConnection conn, final String roomName, final String alias) {
         XmppConnection xConn = (XmppConnection) conn;
         MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
@@ -90,6 +73,18 @@
         }
     }
 
+    public void disconnect(final ChatConnection connection) {
+        XmppConnection xConn = (XmppConnection) connection;
+        xConn.getConn().disconnect();
+
+    }
+
+    public Collection<RosterEntry> getRoster(ChatConnection conn) {
+        XmppConnection xConn = (XmppConnection) conn;
+        Roster roster = xConn.getConn().getRoster();
+        return roster.getEntries();
+    }
+
     public Room joinRoom(final ChatConnection connection, final String roomName, final String alias) {
         XmppConnection xConn = (XmppConnection) connection;
         MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
@@ -104,6 +99,18 @@
         }
     }
 
+    public ChatConnection login(final String userName, final String password, final String resource) {
+        ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222);
+        XMPPConnection conn = new XMPPConnection(config);
+        try {
+            conn.connect();
+            conn.login(userName, password, resource, true);
+            return new XmppConnection(userName, conn);
+        } catch (XMPPException e) {
+            throw new ChatException(e);
+        }
+    }
+
     public void sendMessage(final Room room, final String body) {
         XmppRoom xAccess = (XmppRoom) room;
         MultiUserChat muc = xAccess.getMuc();
@@ -136,22 +143,24 @@
         muc.sendConfigurationForm(answer);
     }
 
+    private String getRoomName(final String room) {
+        return room + "@" + chatProperties.getRoomHost();
+    }
+
+    private String getServerName() {
+        return chatProperties.getDomain();
+    }
+
     private boolean isNotEmpty(final FormField field) {
         return field.getVariable() != null;
     }
 
-    private boolean isVisible(final String type) {
-        return !FormField.TYPE_HIDDEN.equals(type);
-    }
-
     private boolean isNotList(final String type) {
         return !FormField.TYPE_JID_MULTI.equals(type) && !FormField.TYPE_LIST_MULTI.equals(type)
                 && !FormField.TYPE_LIST_SINGLE.equals(type) && !isVisible(type);
     }
 
-    public void disconnect(final ChatConnection connection) {
-        XmppConnection xConn = (XmppConnection) connection;
-        xConn.getConn().disconnect();
-
+    private boolean isVisible(final String type) {
+        return !FormField.TYPE_HIDDEN.equals(type);
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -56,7 +56,7 @@
     }
 
     @Override
-    public void onLoad() {
+    public void onInstall() {
 
         register(ToolGroup.class, new Factory<DocumentClientTool>(DocumentClientTool.class) {
             @Override

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateDTO.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -56,6 +56,7 @@
     private ParticipationDataDTO participation;
     private StateToken stateToken;
     private List<String> enabledTools;
+    private UserBuddiesDataDTO userBuddies;
 
     public StateDTO() {
         this(null, null, null);
@@ -179,6 +180,10 @@
         return typeId;
     }
 
+    public UserBuddiesDataDTO getUserBuddies() {
+        return userBuddies;
+    }
+
     public int getVersion() {
         return version;
     }
@@ -308,6 +313,10 @@
         this.typeId = typeId;
     }
 
+    public void setUserBuddies(UserBuddiesDataDTO userBuddies) {
+        this.userBuddies = userBuddies;
+    }
+
     public void setVersion(final int version) {
         this.version = version;
     }

Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,30 @@
+package org.ourproject.kune.platf.client.dto;
+
+import java.util.List;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class UserBuddiesDataDTO implements IsSerializable {
+
+    private List<UserSimpleDTO> buddies;
+    int otherExternalBuddies;
+
+    public UserBuddiesDataDTO() {
+    }
+
+    public List<UserSimpleDTO> getBuddies() {
+        return buddies;
+    }
+
+    public int getOtherExternalBuddies() {
+        return otherExternalBuddies;
+    }
+
+    public void setBuddies(List<UserSimpleDTO> buddies) {
+        this.buddies = buddies;
+    }
+
+    public void setOtherExternalBuddies(int otherExternalBuddies) {
+        this.otherExternalBuddies = otherExternalBuddies;
+    }
+}
\ No newline at end of file

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-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -8,8 +8,8 @@
 public class KuneCoreModule extends AbstractModule {
 
     @Override
-    public void onLoad() {
-	registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container));
-	registerDecorator(ToolGroup.class, new ToolGroup(container));
+    public void onInstall() {
+        registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container));
+        registerDecorator(ToolGroup.class, new ToolGroup(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-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -90,7 +90,7 @@
 public class KuneModule extends AbstractModule {
 
     @Override
-    public void onLoad() {
+    public void onInstall() {
 
         register(Singleton.class, new Factory<Session>(Session.class) {
             @Override

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KunePlatformModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -18,26 +18,28 @@
 public class KunePlatformModule extends AbstractModule {
 
     @Override
-    protected void onLoad() {
-	register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) {
-	    public ColorWebSafePalette create() {
-		final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter();
-		final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter);
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
+    protected void onInstall() {
+        register(Singleton.class, new Factory<ColorWebSafePalette>(ColorWebSafePalette.class) {
+            @Override
+            public ColorWebSafePalette create() {
+                final ColorWebSafePalettePresenter presenter = new ColorWebSafePalettePresenter();
+                final ColorWebSafePalettePanel panel = new ColorWebSafePalettePanel(presenter);
+                presenter.init(panel);
+                return presenter;
+            }
+        });
 
-	register(Singleton.class, new Factory<FileUploader>(FileUploader.class) {
-	    public FileUploader create() {
-		final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class),
-			$$(ContextNavigator.class));
-		final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class),
-			$(WorkspaceSkeleton.class));
-		presenter.init(panel);
-		return presenter;
-	    }
-	});
+        register(Singleton.class, new Factory<FileUploader>(FileUploader.class) {
+            @Override
+            public FileUploader create() {
+                final FileUploaderPresenter presenter = new FileUploaderPresenter($(Session.class),
+                        $$(ContextNavigator.class));
+                final FileUploaderDialog panel = new FileUploaderDialog(presenter, $(I18nUITranslationService.class),
+                        $(WorkspaceSkeleton.class));
+                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-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -58,6 +58,9 @@
 import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPanel;
 import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserMenuPresenter;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.socialnet.BuddiesSummary;
+import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPanel;
+import org.ourproject.kune.workspace.client.socialnet.BuddiesSummaryPresenter;
 import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummary;
 import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanel;
 import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
@@ -87,7 +90,7 @@
 
 public class KuneWorkspaceModule extends AbstractModule {
     @Override
-    protected void onLoad() {
+    protected void onInstall() {
 
         register(ApplicationComponentGroup.class, new Factory<WorkspaceSkeleton>(WorkspaceSkeleton.class) {
             @Override
@@ -327,6 +330,18 @@
             }
         });
 
+        register(ApplicationComponentGroup.class, new Factory<BuddiesSummary>(BuddiesSummary.class) {
+            @Override
+            public BuddiesSummary create() {
+                final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class),
+                        $(Session.class));
+                final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class),
+                        $(I18nTranslationService.class));
+                presenter.init(panel);
+                return presenter;
+            }
+        });
+
         register(ApplicationComponentGroup.class, new Factory<ParticipationSummary>(ParticipationSummary.class) {
             @Override
             public ParticipationSummary create() {

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -20,7 +20,6 @@
 
 package org.ourproject.kune.platf.client.state;
 
-import java.util.Iterator;
 import java.util.List;
 
 import org.ourproject.kune.platf.client.dto.I18nCountryDTO;
@@ -35,6 +34,7 @@
 import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
 
 import com.allen_sauer.gwt.log.client.Log;
+import com.calclab.suco.client.event.Events;
 import com.calclab.suco.client.ioc.Provider;
 import com.calclab.suco.client.listener.Event;
 import com.calclab.suco.client.listener.Event0;
@@ -56,150 +56,148 @@
     private final Provider<UserServiceAsync> userServiceProvider;
 
     public SessionDefault(final String userHash, final Provider<UserServiceAsync> userServiceProvider) {
-	this.userHash = userHash == null || userHash.equals("null") ? null : userHash;
-	this.userServiceProvider = userServiceProvider;
-	languagesArray = null;
-	this.onInitDataReceived = new Event<InitDataDTO>("initDataReceived");
-	this.onUserSignIn = new Event<UserInfoDTO>("onUserSignIn");
-	this.onUserSignOut = new Event0("onUserSignOut");
+        this.userHash = userHash == null || userHash.equals("null") ? null : userHash;
+        this.userServiceProvider = userServiceProvider;
+        languagesArray = null;
+        this.onInitDataReceived = Events.create(InitDataDTO.class, "initDataReceived");
+        this.onUserSignIn = new Event<UserInfoDTO>("onUserSignIn");
+        this.onUserSignOut = new Event0("onUserSignOut");
     }
 
     public void check(final AsyncCallbackSimple<?> callback) {
-	Log.debug("Checking session (userhash: " + getUserHash() + ")");
-	userServiceProvider.get().onlyCheckSession(getUserHash(), callback);
+        Log.debug("Checking session (userhash: " + getUserHash() + ")");
+        userServiceProvider.get().onlyCheckSession(getUserHash(), callback);
     }
 
     public List<I18nCountryDTO> getCountries() {
-	return initData.getCountries();
+        return initData.getCountries();
     }
 
     public Object[][] getCountriesArray() {
-	if (countriesArray == null) {
-	    countriesArray = mapCountries();
-	}
-	return countriesArray;
+        if (countriesArray == null) {
+            countriesArray = mapCountries();
+        }
+        return countriesArray;
     }
 
     public I18nLanguageDTO getCurrentLanguage() {
-	return currentLanguage;
+        return currentLanguage;
     }
 
     public StateDTO getCurrentState() {
-	return currentState;
+        return currentState;
     }
 
     public StateToken getCurrentStateToken() {
-	return currentState == null ? null : currentState.getStateToken();
+        return currentState == null ? null : currentState.getStateToken();
     }
 
     public UserInfoDTO getCurrentUserInfo() {
-	return currentUserInfo;
+        return currentUserInfo;
     }
 
     public String getGalleryPermittedExtensions() {
-	return initData.getGalleryPermittedExtensions();
+        return initData.getGalleryPermittedExtensions();
     }
 
     public List<I18nLanguageSimpleDTO> getLanguages() {
-	return initData.getLanguages();
+        return initData.getLanguages();
     }
 
     public Object[][] getLanguagesArray() {
-	if (languagesArray == null) {
-	    languagesArray = mapLangs();
-	}
-	return languagesArray;
+        if (languagesArray == null) {
+            languagesArray = mapLangs();
+        }
+        return languagesArray;
     }
 
     public List<LicenseDTO> getLicenses() {
-	return initData.getLicenses();
+        return initData.getLicenses();
     }
 
     public Object[][] getTimezones() {
-	if (timezonesArray == null) {
-	    mapTimezones();
-	}
-	return timezonesArray;
+        if (timezonesArray == null) {
+            mapTimezones();
+        }
+        return timezonesArray;
     }
 
     public String getUserHash() {
-	return userHash;
+        return userHash;
     }
 
     public boolean isLogged() {
-	return userHash != null;
+        return userHash != null;
     }
 
     public void onInitDataReceived(final Listener<InitDataDTO> listener) {
-	onInitDataReceived.add(listener);
+        onInitDataReceived.add(listener);
     }
 
     public void onUserSignIn(final Listener<UserInfoDTO> listener) {
-	onUserSignIn.add(listener);
+        onUserSignIn.add(listener);
     }
 
     public void onUserSignOut(final Listener0 listener) {
-	onUserSignOut.add(listener);
+        onUserSignOut.add(listener);
     }
 
     public void setCurrent(final StateDTO currentState) {
-	this.currentState = currentState;
+        this.currentState = currentState;
     }
 
     public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) {
-	this.currentLanguage = currentLanguage;
+        this.currentLanguage = currentLanguage;
     }
 
     public void setCurrentState(final StateDTO currentState) {
-	this.currentState = currentState;
+        this.currentState = currentState;
     }
 
     public void setCurrentUserInfo(final UserInfoDTO currentUserInfo) {
-	this.currentUserInfo = currentUserInfo;
-	if (currentUserInfo != null) {
-	    onUserSignIn.fire(currentUserInfo);
-	} else {
-	    onUserSignOut.fire();
-	}
+        this.currentUserInfo = currentUserInfo;
+        if (currentUserInfo != null) {
+            onUserSignIn.fire(currentUserInfo);
+        } else {
+            onUserSignOut.fire();
+        }
     }
 
     public void setInitData(final InitDataDTO initData) {
-	this.initData = initData;
-	onInitDataReceived.fire(initData);
+        this.initData = initData;
+        onInitDataReceived.fire(initData);
     }
 
     public void setUserHash(final String userHash) {
-	this.userHash = userHash;
+        this.userHash = userHash;
     }
 
     private Object[][] mapCountries() {
-	final Object[][] objs = new Object[initData.getCountries().size()][1];
-	int i = 0;
-	for (final Iterator<I18nCountryDTO> iterator = initData.getCountries().iterator(); iterator.hasNext();) {
-	    final I18nCountryDTO country = iterator.next();
-	    final Object[] obj = new Object[] { country.getCode(), country.getEnglishName() };
-	    objs[i++] = obj;
-	}
-	return objs;
+        final Object[][] objs = new Object[initData.getCountries().size()][1];
+        int i = 0;
+        for (I18nCountryDTO country : initData.getCountries()) {
+            final Object[] obj = new Object[] { country.getCode(), country.getEnglishName() };
+            objs[i++] = obj;
+        }
+        return objs;
     }
 
     private Object[][] mapLangs() {
-	final Object[][] objs = new Object[initData.getLanguages().size()][1];
-	int i = 0;
-	for (final Iterator<I18nLanguageSimpleDTO> iterator = initData.getLanguages().iterator(); iterator.hasNext();) {
-	    final I18nLanguageSimpleDTO language = iterator.next();
-	    final Object[] obj = new Object[] { language.getCode(), language.getEnglishName() };
-	    objs[i++] = obj;
-	}
-	return objs;
+        final Object[][] objs = new Object[initData.getLanguages().size()][1];
+        int i = 0;
+        for (I18nLanguageSimpleDTO language : initData.getLanguages()) {
+            final Object[] obj = new Object[] { language.getCode(), language.getEnglishName() };
+            objs[i++] = obj;
+        }
+        return objs;
     }
 
     private void mapTimezones() {
-	timezonesArray = new Object[initData.getTimezones().length][1];
-	for (int i = 0; i < getTimezones().length; i++) {
-	    final Object[] obj = new Object[] { initData.getTimezones()[i] };
-	    timezonesArray[i] = obj;
-	}
+        timezonesArray = new Object[initData.getTimezones().length][1];
+        for (int i = 0; i < getTimezones().length; i++) {
+            final Object[] obj = new Object[] { initData.getTimezones()[i] };
+            timezonesArray[i] = obj;
+        }
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/public/images/person-def.png
===================================================================
(Binary files differ)

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person1-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person2-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person3-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person4-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person5-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/persons/person6-85.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -1,55 +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;
-
-import java.util.List;
-
-import org.ourproject.kune.platf.server.domain.Group;
-
-public class ParticipationData {
-    private List<Group> groupsIsAdmin;
-    private List<Group> groupsIsCollab;
-
-    public ParticipationData() {
-	this(null, null);
-    }
-
-    public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) {
-	this.groupsIsAdmin = groupsIsAdmin;
-	this.groupsIsCollab = groupsIsCollab;
-    }
-
-    public List<Group> getGroupsIsAdmin() {
-	return groupsIsAdmin;
-    }
-
-    public List<Group> getGroupsIsCollab() {
-	return groupsIsCollab;
-    }
-
-    public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) {
-	this.groupsIsAdmin = groupsIsAdmin;
-    }
-
-    public void setGroupsIsCollab(final List<Group> groupsIsCollab) {
-	this.groupsIsCollab = groupsIsCollab;
-    }
-
-}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -71,7 +71,7 @@
             throws DefaultException {
         checkGroupExistence(token);
         final Content descriptor = finder.getContent(token, defaultGroup);
-        if (descriptor.equals(Content.NO_CONTENT)) {
+        if (Content.NO_CONTENT.equals(descriptor)) {
             throw new NoDefaultContentException();
         }
         final Access access = new Access(descriptor, descriptor.getContainer());

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -23,10 +23,10 @@
 import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
 import org.ourproject.kune.platf.client.errors.AccessViolationException;
 import org.ourproject.kune.platf.client.errors.DefaultException;
-import org.ourproject.kune.platf.server.ParticipationData;
 import org.ourproject.kune.platf.server.domain.Group;
 import org.ourproject.kune.platf.server.domain.SocialNetwork;
 import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
 
 public interface SocialNetworkManager extends Manager<SocialNetwork, Long> {
 

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -23,6 +23,7 @@
 import org.ourproject.kune.platf.client.errors.I18nNotFoundException;
 import org.ourproject.kune.platf.server.domain.User;
 import org.ourproject.kune.platf.server.manager.impl.SearchResult;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
 
 public interface UserManager {
     /**
@@ -40,7 +41,7 @@
      * @throws I18nNotFoundException
      */
     User createUser(String shortName, String longName, String email, String passwd, String language, String country,
-	    String timezone) throws I18nNotFoundException;
+            String timezone) throws I18nNotFoundException;
 
     /**
      * IMPORTANT: if userId == null, it returns User.UNKNOWN_USER
@@ -50,6 +51,8 @@
      */
     User find(Long userId);
 
+    UserBuddiesData getUserBuddies(String shortName);
+
     User login(String nickOrEmail, String passwd);
 
     void reIndex();

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -32,7 +32,6 @@
 import org.ourproject.kune.platf.client.errors.DefaultException;
 import org.ourproject.kune.platf.client.errors.LastAdminInGroupException;
 import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
-import org.ourproject.kune.platf.server.ParticipationData;
 import org.ourproject.kune.platf.server.access.AccessRightsService;
 import org.ourproject.kune.platf.server.domain.AdmissionType;
 import org.ourproject.kune.platf.server.domain.Group;
@@ -40,6 +39,7 @@
 import org.ourproject.kune.platf.server.domain.SocialNetwork;
 import org.ourproject.kune.platf.server.domain.User;
 import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -20,6 +20,7 @@
 
 package org.ourproject.kune.platf.server.manager.impl;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.TimeZone;
 
@@ -30,6 +31,9 @@
 import org.apache.lucene.queryParser.MultiFieldQueryParser;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.Query;
+import org.jivesoftware.smack.RosterEntry;
+import org.ourproject.kune.chat.server.managers.ChatConnection;
+import org.ourproject.kune.chat.server.managers.XmppManager;
 import org.ourproject.kune.platf.client.errors.I18nNotFoundException;
 import org.ourproject.kune.platf.server.domain.I18nCountry;
 import org.ourproject.kune.platf.server.domain.I18nLanguage;
@@ -37,6 +41,8 @@
 import org.ourproject.kune.platf.server.manager.I18nCountryManager;
 import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
 import org.ourproject.kune.platf.server.manager.UserManager;
+import org.ourproject.kune.platf.server.properties.ChatProperties;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
@@ -47,14 +53,19 @@
     private final User finder;
     private final I18nCountryManager countryManager;
     private final I18nLanguageManager languageManager;
+    private final XmppManager xmppManager;
+    private final ChatProperties properties;
 
     @Inject
     public UserManagerDefault(final Provider<EntityManager> provider, final User finder,
-            final I18nLanguageManager languageManager, final I18nCountryManager countryManager) {
+            final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
+            final XmppManager xmppManager, ChatProperties properties) {
         super(provider, User.class);
         this.finder = finder;
         this.languageManager = languageManager;
         this.countryManager = countryManager;
+        this.xmppManager = xmppManager;
+        this.properties = properties;
     }
 
     public User createUser(final String shortName, final String longName, final String email, final String passwd,
@@ -70,6 +81,50 @@
         }
     }
 
+    @Override
+    public User find(final Long userId) {
+        return userId != null ? super.find(userId) : User.UNKNOWN_USER;
+    }
+
+    public List<User> getAll() {
+        return finder.getAll();
+    }
+
+    public User getByShortName(final String shortName) {
+        return finder.getByShortName(shortName);
+    }
+
+    public UserBuddiesData getUserBuddies(final String shortName) {
+        // XEP-133 get roster by admin part is not implemented in openfire
+        // also access to the openfire db is not easy with hibernate (the use of
+        // two db at the same time). This compromise solution is server
+        // independent.
+        // In the future cache this.
+        String domain = "@" + properties.getDomain();
+        UserBuddiesData buddiesData = new UserBuddiesData();
+        User user = finder.getByShortName(shortName);
+        ChatConnection connection = xmppManager.login(user.getShortName(), user.getPassword(), "kserver");
+        Collection<RosterEntry> roster = xmppManager.getRoster(connection);
+        for (RosterEntry entry : roster) {
+            switch (entry.getType()) {
+            case both:
+                // only show buddies with subscription 'both'
+                int index = entry.getUser().indexOf(domain);
+                if (index > 0) {
+                    // local user
+                    User buddie = finder.getByShortName(entry.getUser().substring(0, index));
+                    if (buddie != null) {
+                        buddiesData.getBuddies().add(buddie);
+                    }
+                } else {
+                    // ext user (only count)
+                    buddiesData.setOtherExternalBuddies(buddiesData.getOtherExternalBuddies() + 1);
+                }
+            }
+        }
+        return buddiesData;
+    }
+
     public User login(final String nickOrEmail, final String passwd) {
         User user;
         try {
@@ -88,18 +143,6 @@
         }
     }
 
-    public List<User> getAll() {
-        return finder.getAll();
-    }
-
-    public User getByShortName(final String shortName) {
-        return finder.getByShortName(shortName);
-    }
-
-    public User find(final Long userId) {
-        return userId != null ? super.find(userId) : User.UNKNOWN_USER;
-    }
-
     public SearchResult<User> search(final String search) {
         return this.search(search, null, null);
     }

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -32,6 +32,7 @@
 import org.ourproject.kune.platf.client.dto.CommentDTO;
 import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
 import org.ourproject.kune.platf.client.dto.ContentStatusDTO;
+import org.ourproject.kune.platf.client.dto.GroupType;
 import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
 import org.ourproject.kune.platf.client.dto.StateDTO;
 import org.ourproject.kune.platf.client.dto.StateToken;
@@ -65,6 +66,7 @@
 import org.ourproject.kune.platf.server.manager.GroupManager;
 import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
 import org.ourproject.kune.platf.server.manager.TagManager;
+import org.ourproject.kune.platf.server.manager.UserManager;
 import org.ourproject.kune.platf.server.mapper.Mapper;
 import org.ourproject.kune.platf.server.state.State;
 import org.ourproject.kune.platf.server.state.StateService;
@@ -90,18 +92,21 @@
     private final SocialNetworkManager socialNetworkManager;
     private final CommentManager commentManager;
     private final AccessRightsService rightsService;
+    private final UserManager userManager;
 
     @Inject
     public ContentRPC(final Provider<UserSession> userSessionProvider, final AccessService accessService,
             final AccessRightsService rightsService, final StateService stateService,
-            final CreationService creationService, final GroupManager groupManager, final XmppManager xmppManager,
-            final ContentManager contentManager, final ContainerManager containerManager, final TagManager tagManager,
+            final CreationService creationService, final UserManager userManager, final GroupManager groupManager,
+            final XmppManager xmppManager, final ContentManager contentManager,
+            final ContainerManager containerManager, final TagManager tagManager,
             final SocialNetworkManager socialNetworkManager, final CommentManager commentManager, final Mapper mapper) {
         this.userSessionProvider = userSessionProvider;
         this.accessService = accessService;
         this.rightsService = rightsService;
         this.stateService = stateService;
         this.creationService = creationService;
+        this.userManager = userManager;
         this.groupManager = groupManager;
         this.xmppManager = xmppManager;
         this.contentManager = contentManager;
@@ -421,6 +426,9 @@
         state.setGroupTags(tagManager.getSummaryByGroup(group));
         state.setGroupMembers(socialNetworkManager.get(user, group));
         state.setParticipation(socialNetworkManager.findParticipation(user, group));
+        if (group.getType().equals(GroupType.PERSONAL)) {
+            state.setUserBuddies(userManager.getUserBuddies(group.getShortName()));
+        }
     }
 
     private State createFolder(final String groupShortName, final Long parentFolderId, final String title,

Copied: trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java (from rev 909, trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/ParticipationData.java	2008-10-14 13:39:30 UTC (rev 909)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,55 @@
+/*
+ *
+ * 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.sn;
+
+import java.util.List;
+
+import org.ourproject.kune.platf.server.domain.Group;
+
+public class ParticipationData {
+    private List<Group> groupsIsAdmin;
+    private List<Group> groupsIsCollab;
+
+    public ParticipationData() {
+	this(null, null);
+    }
+
+    public ParticipationData(final List<Group> groupsIsAdmin, final List<Group> groupsIsCollab) {
+	this.groupsIsAdmin = groupsIsAdmin;
+	this.groupsIsCollab = groupsIsCollab;
+    }
+
+    public List<Group> getGroupsIsAdmin() {
+	return groupsIsAdmin;
+    }
+
+    public List<Group> getGroupsIsCollab() {
+	return groupsIsCollab;
+    }
+
+    public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) {
+	this.groupsIsAdmin = groupsIsAdmin;
+    }
+
+    public void setGroupsIsCollab(final List<Group> groupsIsCollab) {
+	this.groupsIsCollab = groupsIsCollab;
+    }
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/platf/server/sn/ParticipationData.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Added: trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,33 @@
+package org.ourproject.kune.platf.server.sn;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ourproject.kune.platf.server.domain.User;
+
+public class UserBuddiesData {
+
+    private List<User> buddies;
+    int otherExternalBuddies;
+
+    public UserBuddiesData() {
+        otherExternalBuddies = 0;
+        buddies = new ArrayList<User>();
+    }
+
+    public List<User> getBuddies() {
+        return buddies;
+    }
+
+    public int getOtherExternalBuddies() {
+        return otherExternalBuddies;
+    }
+
+    public void setBuddies(List<User> buddies) {
+        this.buddies = buddies;
+    }
+
+    public void setOtherExternalBuddies(int otherExternalBuddies) {
+        this.otherExternalBuddies = otherExternalBuddies;
+    }
+}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/State.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -24,7 +24,6 @@
 import java.util.List;
 
 import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.server.ParticipationData;
 import org.ourproject.kune.platf.server.access.AccessRights;
 import org.ourproject.kune.platf.server.domain.AccessLists;
 import org.ourproject.kune.platf.server.domain.BasicMimeType;
@@ -36,6 +35,8 @@
 import org.ourproject.kune.platf.server.domain.SocialNetwork;
 import org.ourproject.kune.platf.server.domain.TagResult;
 import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
 
 public class State {
     private String documentId;
@@ -66,6 +67,7 @@
     private ParticipationData participation;
     private StateToken stateToken;
     private List<String> enabledTools;
+    private UserBuddiesData userBuddies;
 
     public State() {
     }
@@ -178,6 +180,10 @@
         return typeId;
     }
 
+    public UserBuddiesData getUserBuddies() {
+        return userBuddies;
+    }
+
     public boolean isRateable() {
         return isRateable;
     }
@@ -302,6 +308,10 @@
         this.typeId = typeId;
     }
 
+    public void setUserBuddies(UserBuddiesData userBuddies) {
+        this.userBuddies = userBuddies;
+    }
+
     @Override
     public String toString() {
         return "State[" + stateToken + "/" + typeId + "]";

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -20,12 +20,12 @@
 package org.ourproject.kune.platf.server.users;
 
 import org.ourproject.kune.platf.client.errors.DefaultException;
-import org.ourproject.kune.platf.server.ParticipationData;
 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.domain.User;
 import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummary.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+public interface BuddiesSummary {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,70 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.skel.SummaryPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class BuddiesSummaryPanel extends SummaryPanel implements BuddiesSummaryView {
+
+    public class BuddieWidget extends Composite {
+        private final Image icon;
+        private final Label nick;
+
+        public BuddieWidget(String nickName) {
+            VerticalPanel vp = new VerticalPanel();
+            icon = new Image("images/persons/person2-32.png");
+            nick = new Label(nickName);
+            vp.add(icon);
+            vp.add(nick);
+            initWidget(vp);
+        }
+
+        public void setIcon(String url) {
+            icon.setUrl(url);
+        }
+
+        public void setNick(String nickName) {
+            nick.setText(nickName);
+        }
+    }
+    private final FlowPanel flowPanel;
+    private final Label otherBuddiesLabel;
+    private final I18nTranslationService i18n;
+
+    public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws,
+            I18nTranslationService i18n) {
+        super(i18n.t("Buddies"), i18n.t("Buddies of this user"), ws);
+        this.i18n = i18n;
+        VerticalPanel vp = new VerticalPanel();
+        flowPanel = new FlowPanel();
+        otherBuddiesLabel = new Label();
+        vp.add(flowPanel);
+        vp.add(otherBuddiesLabel);
+        super.add(vp);
+    }
+
+    public void addBuddie(UserSimpleDTO user) {
+        flowPanel.add(new BuddieWidget(user.getShortName()));
+    }
+
+    @Override
+    public void clear() {
+        flowPanel.clear();
+        otherBuddiesLabel.setText(i18n.t("This user has no buddies"));
+    }
+
+    public void setOtherUsers(int otherExternalBuddies) {
+        if (otherExternalBuddies > 0) {
+            otherBuddiesLabel.setText(i18n.t("and [%d] external users", otherExternalBuddies));
+        } else {
+            otherBuddiesLabel.setText("");
+        }
+    }
+}

Added: 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-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,48 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.GroupType;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public class BuddiesSummaryPresenter implements BuddiesSummary {
+
+    private BuddiesSummaryView view;
+
+    public BuddiesSummaryPresenter(StateManager stateManager, final Session session) {
+        stateManager.onGroupChanged(new Listener2<GroupDTO, GroupDTO>() {
+            public void onEvent(GroupDTO param1, GroupDTO param2) {
+                setState(session.getCurrentState());
+            }
+        });
+    }
+
+    public View getView() {
+        return view;
+    }
+
+    public void init(BuddiesSummaryView view) {
+        this.view = view;
+    }
+
+    protected void setState(StateDTO state) {
+        if (state.getGroup().getType().equals(GroupType.PERSONAL)) {
+            view.clear();
+            UserBuddiesDataDTO userBuddies = state.getUserBuddies();
+            for (UserSimpleDTO user : userBuddies.getBuddies()) {
+                view.addBuddie(user);
+            }
+            view.setOtherUsers(userBuddies.getOtherExternalBuddies());
+            view.show();
+        } else {
+            view.hide();
+        }
+    }
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -0,0 +1,17 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+
+public interface BuddiesSummaryView extends View {
+
+    void addBuddie(UserSimpleDTO user);
+
+    void clear();
+
+    void hide();
+
+    void setOtherUsers(int otherExternalBuddies);
+
+    void show();
+}

Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/main/resources/dozerBeanMapping.xml	2008-10-16 19:57:50 UTC (rev 914)
@@ -307,7 +307,7 @@
       org.ourproject.kune.platf.client.dto.ParticipationDataDTO
     </class-a>
     <class-b>
-      org.ourproject.kune.platf.server.ParticipationData
+      org.ourproject.kune.platf.server.sn.ParticipationData
     </class-b>
   </mapping>
 
@@ -446,4 +446,12 @@
     </class-b>
   </mapping>
 
+  <mapping>
+    <class-a>
+      org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO
+    </class-a>
+    <class-b>
+      org.ourproject.kune.platf.server.sn.UserBuddiesData
+    </class-b>
+  </mapping>
 </mappings>
\ No newline at end of file

Modified: trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -6,14 +6,36 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.ourproject.kune.platf.integration.IntegrationTestHelper;
 
 import com.google.inject.Inject;
 
-//FIXME: check this tests
-public abstract class XmppManagerTest {
+public class XmppManagerTest {
 
+    public static class OutputListener implements RoomListener {
+        Log log = LogFactory.getLog(OutputListener.class);
+        private final String name;
+        private int hits;
+
+        public OutputListener(final String name) {
+            this.name = name;
+            this.hits = 0;
+        }
+
+        public int getHits() {
+            return hits;
+        }
+
+        public void onMessage(final String from, final String to, final String body) {
+            log.debug("Al listener " + name + "ha llegado: ");
+            log.debug(from + "- " + to + ": " + body);
+            hits++;
+        }
+
+    }
+
     @Inject
     XmppManager manager;
 
@@ -22,18 +44,7 @@
         IntegrationTestHelper.createInjector().injectMembers(this);
     }
 
-    @Test
-    public void testConnection() {
-        ChatConnection handler1 = manager.login("admin", "easyeasy", "test");
-        assertNotNull(handler1);
-    }
-
-    // @Test(expected = ChatException.class)
-    public void testUserDontExist() {
-        manager.login("user", "passowrd", "test");
-    }
-
-    // @Test
+    @Ignore
     public void testBroadcast() {
         String roomName = "roomName";
         ChatConnection conn1 = manager.login("testUser1", "easy1", "test");
@@ -58,25 +69,20 @@
         assertEquals(4, listener2.getHits());
     }
 
-    public static class OutputListener implements RoomListener {
-        Log log = LogFactory.getLog(OutputListener.class);
-        private final String name;
-        private int hits;
+    @Test
+    public void testConnection() {
+        ChatConnection handler1 = manager.login("admin", "easyeasy", "test");
+        assertNotNull(handler1);
+    }
 
-        public OutputListener(final String name) {
-            this.name = name;
-            this.hits = 0;
-        }
+    @Test
+    public void testGetRoster() {
+        ChatConnection handler = manager.login("admin", "easyeasy", "test");
+        assertNotNull(manager.getRoster(handler));
+    }
 
-        public void onMessage(final String from, final String to, final String body) {
-            log.debug("Al listener " + name + "ha llegado: ");
-            log.debug(from + "- " + to + ": " + body);
-            hits++;
-        }
-
-        public int getHits() {
-            return hits;
-        }
-
+    @Test(expected = ChatException.class)
+    public void testUserDontExist() {
+        manager.login("user", "passowrd", "test");
     }
 }

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java	2008-10-16 14:34:33 UTC (rev 913)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java	2008-10-16 19:57:50 UTC (rev 914)
@@ -12,12 +12,12 @@
 import org.ourproject.kune.platf.client.errors.AccessViolationException;
 import org.ourproject.kune.platf.client.errors.AlreadyGroupMemberException;
 import org.ourproject.kune.platf.client.errors.LastAdminInGroupException;
-import org.ourproject.kune.platf.server.ParticipationData;
 import org.ourproject.kune.platf.server.PersistenceTest;
 import org.ourproject.kune.platf.server.domain.AdmissionType;
 import org.ourproject.kune.platf.server.domain.Group;
 import org.ourproject.kune.platf.server.domain.GroupListMode;
 import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
 import org.ourproject.kune.testhelper.ctx.DomainContext;
 
 import com.google.inject.Inject;




More information about the kune-commits mailing list