syncope-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilgro...@apache.org
Subject [23/57] syncope git commit: [SYNCOPE-119] Renaming Role to Group
Date Tue, 21 Apr 2015 09:33:52 GMT
http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
deleted file mode 100644
index 5cffe09..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.rest;
-
-import java.util.List;
-
-import javax.ws.rs.core.Response;
-import org.apache.syncope.client.console.commons.status.StatusBean;
-import org.apache.syncope.client.console.commons.status.StatusUtils;
-import org.apache.syncope.common.lib.mod.RoleMod;
-import org.apache.syncope.common.lib.to.BulkAction;
-import org.apache.syncope.common.lib.to.BulkActionResult;
-import org.apache.syncope.common.lib.to.ConnObjectTO;
-import org.apache.syncope.common.lib.to.RoleTO;
-import org.apache.syncope.common.lib.types.ResourceAssociationActionType;
-import org.apache.syncope.common.lib.types.ResourceDeassociationActionType;
-import org.apache.syncope.common.lib.types.SubjectType;
-import org.apache.syncope.common.lib.wrap.ResourceName;
-import org.apache.syncope.common.rest.api.CollectionWrapper;
-import org.apache.syncope.common.rest.api.service.ResourceService;
-import org.apache.syncope.common.rest.api.service.RoleService;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
-import org.springframework.stereotype.Component;
-
-/**
- * Console client for invoking Rest Role's services.
- */
-@Component
-public class RoleRestClient extends AbstractSubjectRestClient {
-
-    private static final long serialVersionUID = -8549081557283519638L;
-
-    @Override
-    public int count() {
-        return getService(RoleService.class).list(1, 1).getTotalCount();
-    }
-
-    public List<RoleTO> list() {
-        return getService(RoleService.class).list(1, 1000).getResult();
-    }
-
-    @Override
-    public List<RoleTO> list(final int page, final int size, final SortParam<String> sort) {
-        return getService(RoleService.class).list(page, size, toOrderBy(sort)).getResult();
-    }
-
-    @Override
-    public int searchCount(final String fiql) {
-        return getService(RoleService.class).search(fiql, 1, 1).getTotalCount();
-    }
-
-    @Override
-    public List<RoleTO> search(final String fiql, final int page, final int size, final SortParam<String> sort) {
-        return getService(RoleService.class).search(fiql, page, size, toOrderBy(sort)).getResult();
-    }
-
-    @Override
-    public ConnObjectTO getConnectorObject(final String resourceName, final Long id) {
-        return getService(ResourceService.class).getConnectorObject(resourceName, SubjectType.ROLE, id);
-    }
-
-    public RoleTO create(final RoleTO roleTO) {
-        Response response = getService(RoleService.class).create(roleTO);
-        return response.readEntity(RoleTO.class);
-    }
-
-    public RoleTO read(final Long id) {
-        return getAnonymousService(RoleService.class).read(id);
-    }
-
-    public RoleTO update(final String etag, final RoleMod roleMod) {
-        RoleTO result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.update(roleMod.getKey(), roleMod).readEntity(RoleTO.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-
-    @Override
-    public RoleTO delete(final String etag, final Long id) {
-        RoleTO result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.delete(id).readEntity(RoleTO.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-
-    @Override
-    public BulkActionResult bulkAction(final BulkAction action) {
-        return getService(RoleService.class).bulk(action);
-    }
-
-    public void unlink(final String etag, final long roleId, final List<StatusBean> statuses) {
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            service.bulkDeassociation(roleId, ResourceDeassociationActionType.UNLINK,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class));
-            resetClient(RoleService.class);
-        }
-    }
-
-    public void link(final String etag, final long roleId, final List<StatusBean> statuses) {
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            service.bulkAssociation(roleId, ResourceAssociationActionType.LINK,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class));
-            resetClient(RoleService.class);
-        }
-    }
-
-    public BulkActionResult deprovision(final String etag, final long roleId, final List<StatusBean> statuses) {
-        BulkActionResult result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.bulkDeassociation(roleId, ResourceDeassociationActionType.DEPROVISION,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class)).
-                    readEntity(BulkActionResult.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-
-    public BulkActionResult provision(final String etag, final long roleId, final List<StatusBean> statuses) {
-        BulkActionResult result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.bulkAssociation(roleId, ResourceAssociationActionType.PROVISION,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class)).
-                    readEntity(BulkActionResult.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-
-    public BulkActionResult unassign(final String etag, final long roleId, final List<StatusBean> statuses) {
-        BulkActionResult result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.bulkDeassociation(roleId, ResourceDeassociationActionType.UNASSIGN,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class)).
-                    readEntity(BulkActionResult.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-
-    public BulkActionResult assign(final String etag, final long roleId, final List<StatusBean> statuses) {
-        BulkActionResult result;
-        synchronized (this) {
-            RoleService service = getService(etag, RoleService.class);
-            result = service.bulkAssociation(roleId, ResourceAssociationActionType.ASSIGN,
-                    CollectionWrapper.wrap(StatusUtils.buildStatusMod(statuses).getResourceNames(),
-                            ResourceName.class)).
-                    readEntity(BulkActionResult.class);
-            resetClient(RoleService.class);
-        }
-        return result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
index 159e5d9..3e7cc44 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
@@ -32,7 +32,7 @@ public abstract class ActionLink implements Serializable {
         CREATE("create"),
         EDIT("read"),
         USER_TEMPLATE("read"),
-        ROLE_TEMPLATE("read"),
+        GROUP_TEMPLATE("read"),
         RESET("update"),
         ENABLE("update"),
         SEARCH("read"),
@@ -54,7 +54,7 @@ public abstract class ActionLink implements Serializable {
         PROVISION("update"),
         MANAGE_RESOURCES("update"),
         MANAGE_USERS("update"),
-        MANAGE_ROLES("update");
+        MANAGE_GROUPS("update");
 
         private final String actionId;
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.java
index 8582741..35e4a65 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.java
@@ -51,12 +51,12 @@ public class ActionLinksPanel extends Panel {
         super.add(new Fragment("panelClaim", "emptyFragment", this));
         super.add(new Fragment("panelManageResources", "emptyFragment", this));
         super.add(new Fragment("panelManageUsers", "emptyFragment", this));
-        super.add(new Fragment("panelManageRoles", "emptyFragment", this));
+        super.add(new Fragment("panelManageGroups", "emptyFragment", this));
         super.add(new Fragment("panelCreate", "emptyFragment", this));
         super.add(new Fragment("panelEdit", "emptyFragment", this));
         super.add(new Fragment("panelReset", "emptyFragment", this));
         super.add(new Fragment("panelUserTemplate", "emptyFragment", this));
-        super.add(new Fragment("panelRoleTemplate", "emptyFragment", this));
+        super.add(new Fragment("panelGroupTemplate", "emptyFragment", this));
         super.add(new Fragment("panelEnable", "emptyFragment", this));
         super.add(new Fragment("panelSearch", "emptyFragment", this));
         super.add(new Fragment("panelDelete", "emptyFragment", this));
@@ -149,10 +149,10 @@ public class ActionLinksPanel extends Panel {
                 }.feedbackPanelAutomaticReload(link.feedbackPanelAutomaticReload()));
                 break;
 
-            case MANAGE_ROLES:
-                fragment = new Fragment("panelManageRoles", "fragmentManageRoles", this);
+            case MANAGE_GROUPS:
+                fragment = new Fragment("panelManageGroups", "fragmentManageGroups", this);
 
-                fragment.addOrReplace(new ClearIndicatingAjaxLink<Void>("manageRolesLink", pageRef) {
+                fragment.addOrReplace(new ClearIndicatingAjaxLink<Void>("manageGroupsLink", pageRef) {
 
                     private static final long serialVersionUID = -6957616042924610293L;
 
@@ -219,10 +219,10 @@ public class ActionLinksPanel extends Panel {
                 }.feedbackPanelAutomaticReload(link.feedbackPanelAutomaticReload()));
                 break;
 
-            case ROLE_TEMPLATE:
-                fragment = new Fragment("panelRoleTemplate", "fragmentRoleTemplate", this);
+            case GROUP_TEMPLATE:
+                fragment = new Fragment("panelGroupTemplate", "fragmentGroupTemplate", this);
 
-                fragment.addOrReplace(new ClearIndicatingAjaxLink<Void>("roleTemplateLink", pageRef) {
+                fragment.addOrReplace(new ClearIndicatingAjaxLink<Void>("groupTemplateLink", pageRef) {
 
                     private static final long serialVersionUID = -7978723352517770644L;
 
@@ -500,8 +500,8 @@ public class ActionLinksPanel extends Panel {
                 super.addOrReplace(new Fragment("panelManageUsers", "emptyFragment", this));
                 break;
 
-            case MANAGE_ROLES:
-                super.addOrReplace(new Fragment("panelManageRoles", "emptyFragment", this));
+            case MANAGE_GROUPS:
+                super.addOrReplace(new Fragment("panelManageGroups", "emptyFragment", this));
                 break;
 
             case CREATE:

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index 949cc83..6615b14 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -124,7 +124,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
                         final byte[] uploadedBytes = uploadedFile.getBytes();
                         final String uploaded = new String(
                                 Base64.encodeBase64(uploadedBytes),
-                                SyncopeConstants.DEFAULT_ENCODING);
+                                SyncopeConstants.DEFAULT_CHARSET);
                         field.setModelObject(uploaded);
                         target.add(field);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
index 50db23c..fa962bc 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/DefaultMutableTreeNodeExpansion.java
@@ -24,7 +24,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 import javax.swing.tree.DefaultMutableTreeNode;
-import org.apache.syncope.common.lib.to.RoleTO;
+import org.apache.syncope.common.lib.to.GroupTO;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Session;
 
@@ -57,12 +57,12 @@ public class DefaultMutableTreeNodeExpansion implements Set<DefaultMutableTreeNo
 
     @Override
     public boolean add(final DefaultMutableTreeNode node) {
-        RoleTO roleTO = (RoleTO) node.getUserObject();
+        GroupTO groupTO = (GroupTO) node.getUserObject();
         boolean isAdded;
         if (inverse) {
-            isAdded = ids.remove(roleTO.getKey());
+            isAdded = ids.remove(groupTO.getKey());
         } else {
-            isAdded = ids.add(roleTO.getKey());
+            isAdded = ids.add(groupTO.getKey());
         }
         return isAdded;
     }
@@ -70,12 +70,12 @@ public class DefaultMutableTreeNodeExpansion implements Set<DefaultMutableTreeNo
     @Override
     public boolean remove(final Object object) {
         DefaultMutableTreeNode node = (DefaultMutableTreeNode) object;
-        RoleTO roleTO = (RoleTO) node.getUserObject();
+        GroupTO groupTO = (GroupTO) node.getUserObject();
         boolean isRemoved;
         if (inverse) {
-            isRemoved = ids.add(roleTO.getKey());
+            isRemoved = ids.add(groupTO.getKey());
         } else {
-            isRemoved = ids.remove(roleTO.getKey());
+            isRemoved = ids.remove(groupTO.getKey());
         }
         return isRemoved;
     }
@@ -83,12 +83,12 @@ public class DefaultMutableTreeNodeExpansion implements Set<DefaultMutableTreeNo
     @Override
     public boolean contains(final Object object) {
         DefaultMutableTreeNode node = (DefaultMutableTreeNode) object;
-        RoleTO roleTO = (RoleTO) node.getUserObject();
+        GroupTO groupTO = (GroupTO) node.getUserObject();
         boolean isContained;
         if (inverse) {
-            isContained = !ids.contains(roleTO.getKey());
+            isContained = !ids.contains(groupTO.getKey());
         } else {
-            isContained = ids.contains(roleTO.getKey());
+            isContained = ids.contains(groupTO.getKey());
         }
         return isContained;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupPanel.java
new file mode 100644
index 0000000..0638a73
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupPanel.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wicket.markup.html.tree;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import org.apache.syncope.client.console.commons.GroupTreeBuilder;
+import org.apache.syncope.client.console.commons.XMLRolesReader;
+import org.apache.syncope.client.console.pages.Groups.TreeNodeClickUpdate;
+import org.apache.syncope.common.lib.to.GroupTO;
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
+import org.apache.wicket.event.Broadcast;
+import org.apache.wicket.event.IEvent;
+import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
+import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
+import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;
+import org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder;
+import org.apache.wicket.extensions.markup.html.repeater.tree.theme.WindowsTheme;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.spring.injection.annot.SpringBean;
+
+public class TreeGroupPanel extends Panel {
+
+    private static final long serialVersionUID = 1762003213871836869L;
+
+    @SpringBean
+    private GroupTreeBuilder groupTreeBuilder;
+
+    @SpringBean
+    private XMLRolesReader xmlRolesReader;
+
+    private WebMarkupContainer treeContainer;
+
+    private NestedTree<DefaultMutableTreeNode> tree;
+
+    public TreeGroupPanel(final String id) {
+        super(id);
+
+        treeContainer = new WebMarkupContainer("treeContainer");
+        treeContainer.setOutputMarkupId(true);
+        add(treeContainer);
+        updateTree();
+    }
+
+    private void updateTree() {
+        final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeGroupProvider(groupTreeBuilder, true);
+        final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel();
+
+        tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) {
+
+            private static final long serialVersionUID = 7137658050662575546L;
+
+            @Override
+            protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) {
+                final DefaultMutableTreeNode treeNode = node.getObject();
+                final GroupTO groupTO = (GroupTO) treeNode.getUserObject();
+
+                return new Folder<DefaultMutableTreeNode>(id, TreeGroupPanel.this.tree, node) {
+
+                    private static final long serialVersionUID = 9046323319920426493L;
+
+                    @Override
+                    protected boolean isClickable() {
+                        return true;
+                    }
+
+                    @Override
+                    protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) {
+                        return new Model<>(groupTO.getDisplayName());
+                    }
+
+                    @Override
+                    protected void onClick(final AjaxRequestTarget target) {
+                        super.onClick(target);
+
+                        send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, groupTO.getKey()));
+                    }
+                };
+            }
+        };
+        tree.add(new WindowsTheme());
+        tree.setOutputMarkupId(true);
+
+        DefaultMutableTreeNodeExpansion.get().expandAll();
+
+        MetaDataRoleAuthorizationStrategy.authorize(tree, ENABLE, xmlRolesReader.getEntitlement("Groups", "read"));
+
+        treeContainer.addOrReplace(tree);
+    }
+
+    @Override
+    public void onEvent(final IEvent<?> event) {
+        super.onEvent(event);
+
+        if (event.getPayload() instanceof TreeNodeClickUpdate) {
+            final TreeNodeClickUpdate update = (TreeNodeClickUpdate) event.getPayload();
+            updateTree();
+            update.getTarget().add(treeContainer);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupProvider.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupProvider.java
new file mode 100644
index 0000000..c0b55c3
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeGroupProvider.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wicket.markup.html.tree;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import org.apache.syncope.client.console.commons.GroupTreeBuilder;
+import org.apache.wicket.extensions.markup.html.repeater.util.TreeModelProvider;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class TreeGroupProvider extends TreeModelProvider<DefaultMutableTreeNode> {
+
+    private static final long serialVersionUID = -7741964777100892335L;
+
+    public TreeGroupProvider(final GroupTreeBuilder groupTreeBuilder) {
+        this(groupTreeBuilder, false);
+    }
+
+    public TreeGroupProvider(final GroupTreeBuilder groupTreeBuilde, final boolean rootVisible) {
+        super(groupTreeBuilde.build(), rootVisible);
+    }
+
+    @Override
+    public IModel<DefaultMutableTreeNode> model(final DefaultMutableTreeNode treeNode) {
+        return new Model<DefaultMutableTreeNode>(treeNode);
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
deleted file mode 100644
index b0be4e9..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRolePanel.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.wicket.markup.html.tree;
-
-import javax.swing.tree.DefaultMutableTreeNode;
-import org.apache.syncope.client.console.commons.RoleTreeBuilder;
-import org.apache.syncope.client.console.commons.XMLRolesReader;
-import org.apache.syncope.client.console.pages.Roles.TreeNodeClickUpdate;
-import org.apache.syncope.common.lib.to.RoleTO;
-import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
-import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
-import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;
-import org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder;
-import org.apache.wicket.extensions.markup.html.repeater.tree.theme.WindowsTheme;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-public class TreeRolePanel extends Panel {
-
-    private static final long serialVersionUID = 1762003213871836869L;
-
-    @SpringBean
-    private RoleTreeBuilder roleTreeBuilder;
-
-    @SpringBean
-    private XMLRolesReader xmlRolesReader;
-
-    private WebMarkupContainer treeContainer;
-
-    private NestedTree<DefaultMutableTreeNode> tree;
-
-    public TreeRolePanel(final String id) {
-        super(id);
-
-        treeContainer = new WebMarkupContainer("treeContainer");
-        treeContainer.setOutputMarkupId(true);
-        add(treeContainer);
-        updateTree();
-    }
-
-    private void updateTree() {
-        final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true);
-        final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel();
-
-        tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) {
-
-            private static final long serialVersionUID = 7137658050662575546L;
-
-            @Override
-            protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) {
-                final DefaultMutableTreeNode treeNode = node.getObject();
-                final RoleTO roleTO = (RoleTO) treeNode.getUserObject();
-
-                return new Folder<DefaultMutableTreeNode>(id, TreeRolePanel.this.tree, node) {
-
-                    private static final long serialVersionUID = 9046323319920426493L;
-
-                    @Override
-                    protected boolean isClickable() {
-                        return true;
-                    }
-
-                    @Override
-                    protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) {
-                        return new Model<>(roleTO.getDisplayName());
-                    }
-
-                    @Override
-                    protected void onClick(final AjaxRequestTarget target) {
-                        super.onClick(target);
-
-                        send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, roleTO.getKey()));
-                    }
-                };
-            }
-        };
-        tree.add(new WindowsTheme());
-        tree.setOutputMarkupId(true);
-
-        DefaultMutableTreeNodeExpansion.get().expandAll();
-
-        MetaDataRoleAuthorizationStrategy.authorize(tree, ENABLE, xmlRolesReader.getEntitlement("Roles", "read"));
-
-        treeContainer.addOrReplace(tree);
-    }
-
-    @Override
-    public void onEvent(final IEvent<?> event) {
-        super.onEvent(event);
-
-        if (event.getPayload() instanceof TreeNodeClickUpdate) {
-            final TreeNodeClickUpdate update = (TreeNodeClickUpdate) event.getPayload();
-            updateTree();
-            update.getTarget().add(treeContainer);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
deleted file mode 100644
index 6fbe9a4..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/tree/TreeRoleProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.wicket.markup.html.tree;
-
-import javax.swing.tree.DefaultMutableTreeNode;
-import org.apache.syncope.client.console.commons.RoleTreeBuilder;
-import org.apache.wicket.extensions.markup.html.repeater.util.TreeModelProvider;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-
-public class TreeRoleProvider extends TreeModelProvider<DefaultMutableTreeNode> {
-
-    private static final long serialVersionUID = -7741964777100892335L;
-
-    public TreeRoleProvider(final RoleTreeBuilder roleTreeBuilder) {
-        this(roleTreeBuilder, false);
-    }
-
-    public TreeRoleProvider(final RoleTreeBuilder roleTreeBuilder, final boolean rootVisible) {
-        super(roleTreeBuilder.build(), rootVisible);
-    }
-
-    @Override
-    public IModel<DefaultMutableTreeNode> model(final DefaultMutableTreeNode treeNode) {
-        return new Model<DefaultMutableTreeNode>(treeNode);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/css/style.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/style.css b/client/console/src/main/resources/META-INF/resources/css/style.css
index 54d8f50..0978141 100644
--- a/client/console/src/main/resources/META-INF/resources/css/style.css
+++ b/client/console/src/main/resources/META-INF/resources/css/style.css
@@ -29,7 +29,7 @@ body {
   margin: 0px 5px;
   margin-top: 5px;
 }
-#roletabs {
+#grouptabs {
   margin: 0px 5px;
   margin-top: 5px;
 }
@@ -258,7 +258,7 @@ div#executions table td, div#executions table th { border: 1px solid #eee; paddi
   color: #9C0;
 }
 
-#navigationPane .roles {
+#navigationPane .groups {
   color: #F90;
 }
 
@@ -347,13 +347,13 @@ td.action{
   text-align: right;
 }
 
-.role-tree {
+.group-tree {
   width: 30%;
   display: block;
   float: left;
 }
 
-.roleTable {
+.groupTable {
   line-height: 1.5em;
 }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/actions/groups-icon.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/actions/groups-icon.png b/client/console/src/main/resources/META-INF/resources/img/actions/groups-icon.png
new file mode 100644
index 0000000..9669486
Binary files /dev/null and b/client/console/src/main/resources/META-INF/resources/img/actions/groups-icon.png differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png b/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png
deleted file mode 100644
index 9669486..0000000
Binary files a/client/console/src/main/resources/META-INF/resources/img/actions/roles-icon.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/menu/groups.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/menu/groups.png b/client/console/src/main/resources/META-INF/resources/img/menu/groups.png
new file mode 100644
index 0000000..fba8be7
Binary files /dev/null and b/client/console/src/main/resources/META-INF/resources/img/menu/groups.png differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/menu/notsel/groups.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/menu/notsel/groups.png b/client/console/src/main/resources/META-INF/resources/img/menu/notsel/groups.png
new file mode 100644
index 0000000..9b64b4b
Binary files /dev/null and b/client/console/src/main/resources/META-INF/resources/img/menu/notsel/groups.png differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/menu/notsel/roles.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/menu/notsel/roles.png b/client/console/src/main/resources/META-INF/resources/img/menu/notsel/roles.png
deleted file mode 100644
index 9b64b4b..0000000
Binary files a/client/console/src/main/resources/META-INF/resources/img/menu/notsel/roles.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/META-INF/resources/img/menu/roles.png
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/img/menu/roles.png b/client/console/src/main/resources/META-INF/resources/img/menu/roles.png
deleted file mode 100644
index fba8be7..0000000
Binary files a/client/console/src/main/resources/META-INF/resources/img/menu/roles.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/authorizations.xml
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/authorizations.xml b/client/console/src/main/resources/authorizations.xml
index 4610abf..8de4a1d 100644
--- a/client/console/src/main/resources/authorizations.xml
+++ b/client/console/src/main/resources/authorizations.xml
@@ -66,25 +66,25 @@ under the License.
     </action>
   </page>
 
-  <page id="Roles">
+  <page id="Groups">
     <action id="list">
-      <entitlement>ROLE_LIST</entitlement>
+      <entitlement>GROUP_LIST</entitlement>
     </action>
 
     <action id="create">
-      <entitlement>ROLE_CREATE</entitlement>
+      <entitlement>GROUP_CREATE</entitlement>
     </action>
 
     <action id="read">
-      <entitlement>ROLE_READ</entitlement>
+      <entitlement>GROUP_READ</entitlement>
     </action>
 
     <action id="update">
-      <entitlement>ROLE_UPDATE</entitlement>
+      <entitlement>GROUP_UPDATE</entitlement>
     </action>
 
     <action id="delete">
-      <entitlement>ROLE_DELETE</entitlement>
+      <entitlement>GROUP_DELETE</entitlement>
     </action>
   </page>
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/consoleContext.xml
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/consoleContext.xml b/client/console/src/main/resources/consoleContext.xml
index fbab64b..1acb7b4 100644
--- a/client/console/src/main/resources/consoleContext.xml
+++ b/client/console/src/main/resources/consoleContext.xml
@@ -68,7 +68,7 @@ under the License.
     <property name="authorizations" value="authorizations.xml"/>
   </bean>
 
-  <bean id="roleTreeBuilder" class="org.apache.syncope.client.console.commons.RoleTreeBuilder"/>
+  <bean id="groupTreeBuilder" class="org.apache.syncope.client.console.commons.GroupTreeBuilder"/>
 
   <bean id="syncopeClientFactory" class="org.apache.syncope.client.lib.SyncopeClientFactoryBean">
     <property name="address" value="${scheme}://${host}:${port}/${rootPath}"/>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication.properties b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication.properties
index 83cb198..a5fe511 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication.properties
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 users=Users
-roles=Roles
+groups=Groups
 configuration=Configuration
 resources=Resources
 connectors=Connectors

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_it.properties
index 96edcee..1f1e827 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_it.properties
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 users=Utenti
-roles=Ruoli
+groups=Gruppi
 configuration=Configurazione
 resources=Risorse
 connectors=Connettori

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_pt_BR.properties
index a7e2880..de966d2 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/SyncopeApplication_pt_BR.properties
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 users=Usu\u00e1rios
-roles=Fun\u00e7\u00f5es
+groups=Grupos
 configuration=Configura\u00e7\u00f5es
 resources=Recursos
 connectors=Conectores

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
index 1b274a9..8b7349b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
@@ -88,8 +88,8 @@ under the License.
           </span>
         </li>
         <li><span>
-            <a href="#" wicket:id="roles"><img wicket:id="rolesIcon" alt="Roles" width="80" height="80" /><br />
-              <wicket:message key="roles"/>
+            <a href="#" wicket:id="groups"><img wicket:id="groupsIcon" alt="Groups" width="80" height="80" /><br />
+              <wicket:message key="groups"/>
             </a>
           </span>
         </li>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.html
index 931bf2b..58a0241 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.html
@@ -47,8 +47,8 @@ under the License.
             <a href="#adminUser"><span><wicket:message key="adminUser"/></span></a>
           </li>
           <li><a href="#selfUser"><span><wicket:message key="selfUser"/></span></a></li>
-          <li><a href="#adminRole"><span><wicket:message key="adminRole"/></span></a></li>
-          <li><a href="#selfRole"><span><wicket:message key="selfRole"/></span></a></li>
+          <li><a href="#adminGroup"><span><wicket:message key="adminGroup"/></span></a></li>
+          <li><a href="#selfGroup"><span><wicket:message key="selfGroup"/></span></a></li>
           <li><a href="#adminMembership"><span><wicket:message key="adminMembership"/></span></a></li>
           <li><a href="#selfMembership"><span><wicket:message key="selfMembership"/></span></a></li>
         </ul>
@@ -58,11 +58,11 @@ under the License.
         <div id="selfUser" style="border-width: 1px;border-top-width: 0px;">
           <span wicket:id="selfUserLayoutPanel">[self user layout panel]</span>
         </div>
-        <div id="adminRole" style="border-width: 1px;border-top-width: 0px;">
-          <span wicket:id="adminRoleLayoutPanel">[admin role layout panel]</span>
+        <div id="adminGroup" style="border-width: 1px;border-top-width: 0px;">
+          <span wicket:id="adminGroupLayoutPanel">[admin group layout panel]</span>
         </div>
-        <div id="selfRole" style="border-width: 1px;border-top-width: 0px;">
-          <span wicket:id="selfRoleLayoutPanel">[self role layout panel]</span>
+        <div id="selfGroup" style="border-width: 1px;border-top-width: 0px;">
+          <span wicket:id="selfGroupLayoutPanel">[self group layout panel]</span>
         </div>
         <div id="adminMembership" style="border-width: 1px;border-top-width: 0px;">
           <span wicket:id="adminMembershipLayoutPanel">[admin membership layout panel]</span>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.properties
index 19d534f..dea3e78 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration.properties
@@ -41,8 +41,8 @@ content=Text
 layouts=Layouts
 adminUser=Administrator User Form
 selfUser=Self User Form
-adminRole=Administrator Role Form
-selfRole=Self Role Form
+adminGroup=Administrator Group Form
+selfGroup=Self Group Form
 adminMembership=Administrator Membership Form
 selfMembership=Self Membership Form
 ext=Extensions

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_it.properties
index 0f13761..36140b2 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_it.properties
@@ -41,8 +41,8 @@ content=Testo
 layouts=Layouts
 adminUser=Form Amministrazione Utente
 selfUser=Form Utente
-adminRole=Form Amministrazione Ruolo
-selfRole=Form Ruolo
+adminGroup=Form Amministrazione Gruppo
+selfGroup=Form Gruppo
 adminMembership=Form Amministrazione Membership
 selfMembership=Form Membership
 ext=Estensioni

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_pt_BR.properties
index 63f19b7..a39ea61 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Configuration_pt_BR.properties
@@ -41,8 +41,8 @@ content=Texto
 layouts=Layouts
 adminUser=Forma do usu\u00e1rio de administra\u00e7\u00e3o
 selfUser=Forma Usu\u00e1rio
-adminRole=Forma Fun\u00e7\u00e3o de administra\u00e7\u00e3o
-selfRole=Form Fun\u00e7\u00e3o
+adminGroup=Forma de grupo de administra\u00e7\u00e3o
+selfGroup=Form Grupo
 adminMembership=Forma de membro de administra\u00e7\u00e3o
 selfMembership=Forma Membro
 ext=Extens\u00f5es

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.html
new file mode 100644
index 0000000..bbcd878
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.html
@@ -0,0 +1,52 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <div style="margin: 5px;">
+      <p class="ui-widget ui-corner-all ui-widget-header">
+        <wicket:message key="title"/>&nbsp;<span wicket:id="displayName"/>
+      </p>
+      <form wicket:id="groupForm">
+        <div id="tabs">
+          <div style="display: block; clear: both">
+            <ul>
+              <li><a href="#details"><span><wicket:message key="details"/></span></a></li>
+              <li><a href="#templates"><span><wicket:message key="templates"/></span></a></li>
+              <li><a href="#plainAttrs"><span><wicket:message key="plainAttrs"/></span></a></li>
+              <li><a href="#derAttrs"><span><wicket:message key="derAttrs"/></span></a></li>
+              <li><a href="#virAttrs"><span><wicket:message key="virAttrs"/></span></a></li>
+              <li><a href="#resources"><span><wicket:message key="resources"/></span></a></li>
+              <li><a href="#entitlements"><span><wicket:message key="entitlements"/></span></a></li>
+              <li><a href="#security"><span><wicket:message key="security"/></span></a></li>
+            </ul>
+          </div>
+          <div wicket:id="groupPanel"></div>
+        </div>
+        <div style="bottom:0;margin:10px">
+          <input type="submit"
+                 class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
+                 wicket:id="submit"/>
+          <input type="button"
+                 class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
+                 wicket:id="cancel"/>
+        </div>
+      </form>
+    </div>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.properties
new file mode 100644
index 0000000..4ffa2fb
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage.properties
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+required_alert=All form fields are required.
+title=Group
+details=Details
+plainAttrs=Plain attributes
+tab3=Derived attributes
+tab4=Virtual attributes
+resources=Resources
+entitlements=Entitlements
+security=Security
+add=+
+drop=-
+error=Generic error occurred during the operation
+firstResourcesList=Group's resources
+secondResourcesList=Available resources
+firstEntitlementsList=Group's entitlements
+secondEntitlementsList=Available entitlements
+derAttrs=Derived Attributes
+derAttrToRemove=Delete
+derAttrName=Name
+derAttrValue=Derived value
+
+virAttrs=Virtual Attributes
+virAttrToRemove=Delete
+virAttrName=Name
+virAttrValue=Virtual value
+
+addAttributeBtn=Add
+
+inheritPlainAttrs=Inherit plain attributes
+inheritDerAttrs=Inherit derived attributes
+inheritVirAttrs=Inherit virtual attributes
+templates=Templates

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_it.properties
new file mode 100644
index 0000000..1c6efec
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_it.properties
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+required_alert=All form fields are required.
+title=Gruppo
+details=Dettagli
+plainAttrs=Attributi normali
+tab3=Attributi derivati
+tab4=Attributi virtuali
+resources=Risorse
+entitlements=Entitlement
+security=Sicurezza
+add=+
+drop=-
+error=Errore generico durante l'operazione
+firstResourcesList=Risorse ruolo
+secondResourcesList=Risorse disponibili
+firstResourcesList=Risorse gruppo
+secondResourcesList=Risorse disponibili
+derAttrs=Attributi derivati
+derAttrToRemove=Elimina
+derAttrName=Nome
+derAttrValue=Valore derivato
+
+virAttrs=Attributi virtuali
+virAttrToRemove=Elimina
+virAttrName=Nome
+virAttrValue=Valore virtuale
+
+addAttributeBtn=Aggiungi
+
+inheritPlainAttrs=Eredita attributi normali
+inheritDerAttrs=Eredita attributi derivati
+inheritVirAttrs=Eredita attributi virtuali
+templates=Modelo
+secondEntitlementsList=Entitlement disponibili
+firstEntitlementsList=Entitlement gruppo

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_pt_BR.properties
new file mode 100644
index 0000000..0649585
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupModalPage_pt_BR.properties
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+required_alert=Todos os campos s\u00e3o obrigat\u00f3rios
+title=Grupo
+details=Detalhes
+plainAttrs=Atributos Normal
+tab3=Atributos Derivados
+tab4=Atributos Virtuais
+resources=Recursos
+entitlements=Direitos
+security=Seguran\u00e7a
+add=+
+drop=-
+error=Um erro gen\u00e9rico ocorreu durante a opera\u00e7\u00e3o
+firstResourcesList=Recursos de grupos
+secondResourcesList=Recursos dispon\u00edveis
+firstEntitlementsList=Direitos de grupos
+secondEntitlementsList=Direitos dispon\u00edveis
+derAttrs=Atributos derivados
+derAttrToRemove=Exluir
+derAttrName=Nome
+derAttrValue=Valor Derivado
+
+virAttrs=Atributos Virtuais
+virAttrToRemove=Excluir
+virAttrName=Nome
+virAttrValue=Valor Virtual
+
+addAttributeBtn=Adicionar
+
+inheritPlainAttrs=Atributos Herdados Normal
+inheritDerAttrs=Atributos Derivados Herdados
+inheritVirAttrs=Atributos Virtuais Herdados
+templates=Modelli

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupSelectModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupSelectModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupSelectModalPage.html
new file mode 100644
index 0000000..203ffa9
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/GroupSelectModalPage.html
@@ -0,0 +1,24 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <div wicket:id="treeTable"
+         style="width: 100%;display:block;margin:auto;" class="groupTable group-tree"/>
+  </wicket:extend>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.html
new file mode 100644
index 0000000..a335c28
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.html
@@ -0,0 +1,80 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:head>
+    <style>
+      div.group-tree div.wicket-tree-table a {
+        color:black;
+      }
+    </style>
+    <script type="text/javascript">
+      $(document).ready(function() {
+        $("#grouptabs").tabs();
+      });
+    </script>
+  </wicket:head>
+  <wicket:extend>
+    <div id="grouptabs">
+      <ul>
+        <li class="tabs-selected">
+          <a href="#tabs-tree">
+            <span><wicket:message key="tabs-tree"/>
+            </span>
+          </a>
+        </li>
+        <li>
+          <a href="#tabs-search">
+            <span><wicket:message key="tabs-search"/>
+            </span>
+          </a>
+        </li>
+      </ul>
+
+      <div id="tabs-tree" >
+        <div wicket:id="groupTabsContainer">
+          <span wicket:id="treePanel"></span>
+          <span wicket:id="summaryPanel"></span>
+        </div>
+        <div wicket:id="editGroupWin">[Show modal window for create/editing group]</div>
+      </div>
+
+      <div id="tabs-search">
+        <div>
+          <form wicket:id="searchForm">
+            <span wicket:id="searchPanel">searchPanel</span>
+
+            <br/>
+            <a wicket:id="search"
+               class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
+              <img src="img/search.png" alt="search"/>
+              <wicket:message key="search"/>
+            </a>
+          </form>
+        </div>
+
+        <div id="users-contain" class="ui-widget" style="width:auto">
+          <span wicket:id="searchResult">[search result]</span>
+        </div>
+      </div>
+
+    </div>
+
+    <wicket:child/>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.properties
new file mode 100644
index 0000000..bfe9385
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups.properties
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+tabs-tree=Tree
+tabs-search=Search
+search=Search
+create_user=Create new user
+search_results_title=Search results
+search_noResults=No matches found.
+reset=Reset
+showingFrom=Showing
+showingTo=to
+showingOf=of

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_it.properties
new file mode 100644
index 0000000..76e69f7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_it.properties
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+tabs-tree=Albero
+tabs-search=Ricerca
+search=Cerca
+create_user=Crea nuovo utente
+search_results_title=Risultati ricerca:
+search_noResults=Nessuna corrispondenza trovata.
+reset=Reset
+showingFrom=Risultati da
+showingTo=a
+showingOf=di

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_pt_BR.properties
new file mode 100644
index 0000000..8d80401
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Groups_pt_BR.properties
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+tabs-tree=\u00C1rvore
+tabs-search=Buscar
+search=Buscar
+create_user=Criar novo usu\u00E1rio
+search_results_title=Resultados da busca
+search_noResults=N\u00E3o foram encontrados resultados
+reset=Resetar
+showingFrom=Mostrando
+showingTo=para
+showingOf=de

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage.properties
index 28db548..bd02e50 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage.properties
@@ -17,7 +17,7 @@
 tab1=Plain attributes
 tab2=Derived attributes
 tab3=Virtual attributes
-title=Roles
+title=Groups
 add=+
 drop=-
 edit=Edit

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_it.properties
index 0776461..ebcfd3c 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_it.properties
@@ -17,7 +17,7 @@
 tab1=Attributi normali
 tab2=Attributi derivati
 tab3=Attributi virtuali
-title=Ruoli
+title=Gruppi
 add=+
 drop=-
 edit=Edit

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_pt_BR.properties
index 481bc0c..15e115d 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/MembershipModalPage_pt_BR.properties
@@ -17,7 +17,7 @@
 tab1=Atributos Normal
 tab2=Atributos Derivados
 tab3=Atributos Virtuais
-title=Fun\u00e7\u00f5es
+title=Grupos
 add=+
 drop=-
 edit=Alterar

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.html
index 2ee6802..655778b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.html
@@ -159,21 +159,21 @@ under the License.
               </div>
               <div class="tablerow" style="width: auto;">
                 <div class="tablecolumn_field" style="width: auto; padding-right: 5px;">
-                  <span wicket:id="checkRoleAbout">[checkRoleAbout]</span>
+                  <span wicket:id="checkGroupAbout">[checkGroupAbout]</span>
                 </div>
                 <div class="tablecolumn_label" style="width: auto;">
-                  <label for="checkRoleAbout"><wicket:message key="checkRoleAbout"/></label>
+                  <label for="checkGroupAbout"><wicket:message key="checkGroupAbout"/></label>
                 </div>
               </div>
               <div id="userFilter">
                 <div id="title">
-                  <label for="roleFilter"><wicket:message key="roleFilter"/></label>
+                  <label for="groupFilter"><wicket:message key="groupFilter"/></label>
                 </div>
                 <div id="warning">
-                  <label for="roleFilter"><wicket:message key="roleFilterWarning"/></label>
+                  <label for="groupFilter"><wicket:message key="groupFilterWarning"/></label>
                 </div>
                 <div id="condition">
-                  <span wicket:id="roleAbout"/>
+                  <span wicket:id="groupAbout"/>
                 </div>
               </div>
             </span>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.properties
index f36d754..99b7dca 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage.properties
@@ -33,8 +33,8 @@ userFilter=User filter
 userFilterWarning=Do not use this filter unless events are not targeted at users
 userNotifications=User notifications
 userNotificationsWarning=Do not select this checkbox unless events are not targeted at users
-roleFilter=Role filter
-roleFilterWarning=Do not use this filter unless events are not targeted at roles
+groupFilter=Group filter
+groupFilterWarning=Do not use this filter unless events are not targeted at groups
 isActive=Enabled
 checkUserAbout=Users
-checkRoleAbout=Roles
+checkGroupAbout=Groups

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_it.properties
index 6d3b2b6..6015c91 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_it.properties
@@ -33,8 +33,8 @@ userFilter=Filtro utenti
 userFilterWarning=Non usare questo filtro se gli eventi catturati non riguardano espressamente utenti
 userNotifications=Notifiche utente
 userNotificationsWarning=Non selezionare questa checkbox se gli eventi catturati non riguardano espressamente utenti
-roleFilter=Filtro ruoli
-roleFilterWarning=Non usare questo filtro se gli eventi catturati non riguardano espressamente i ruoli
+groupFilter=Filtro gruppi
+groupFilterWarning=Non usare questo filtro se gli eventi catturati non riguardano espressamente i ruoli
 isActive=Abilitata
 checkUserAbout=Utenti
-checkRoleAbout=Ruoli
+checkGroupAbout=Gruppi

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_pt_BR.properties
index 08879cb..867b98b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/NotificationModalPage_pt_BR.properties
@@ -29,12 +29,12 @@ recipientAttrType=Tipo de atributo de destinat\u00e1rio de email.
 recipientAttrName=Destinat\u00e1rios de e-mail para atributos de esquema
 checkRecipients=Buscar Destinat\u00e1rios
 checkAbout=Todos
-userFilter=User filter
+userFilter=Filtro de Usu\u00e1rio
 userFilterWarning=N\u00e3o use este filtro n\u00e3o ser que os eventos n\u00e3o s\u00e3o direcionados a usu\u00e1rios
 userNotifications=Notifica\u00e7\u00f5es do usu\u00e1rio
 userNotificationsWarning=N\u00e3o selecione esta op\u00e7\u00e3o a menos que os eventos n\u00e3o s\u00e3o direcionados a usu\u00e1rios
-roleNotifications=Notifica\u00e7\u00f5es do fun\u00e7\u00f5es
-roleNotificationsWarning=N\u00e3o selecione esta op\u00e7\u00e3o a menos que os eventos n\u00e3o s\u00e3o direcionados a fun\u00e7\u00f5es
 isActive=Ativada
 checkUserAbout=Usu\u00e1rio
-checkRoleAbout=Fun\u00e7\u00e3o
+checkGroupAbout=Grupos
+groupFilter=Filtro de Grupo
+groupFilterWarning=N\u00e3o use este filtro, a menos que os eventos n\u00e3o s\u00e3o dirigidas a grupos

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.html
index 504d72c..786c4e3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.html
@@ -27,7 +27,7 @@ under the License.
             <li class="tabs-selected"><a href="#info"><span><wicket:message key="policyInfo"/></span></a></li>
             <li><a href="#specification"><span><wicket:message key="policySpecification"/></span></a></li>
             <li><a href="#resources"><span><wicket:message key="resources"/></span></a></li>
-            <li><a href="#roles"><span><wicket:message key="roles"/></span></a></li>
+            <li><a href="#groups"><span><wicket:message key="groups"/></span></a></li>
           </ul>
 
           <div id="info">
@@ -86,9 +86,9 @@ under the License.
             </div>
           </div>
 
-          <div id="roles">
+          <div id="groups">
             <div id="users-contain" class="ui-widget" style="width:inherit;">
-              <table class="ui-widget ui-widget-content table-hover" wicket:id="roles"/>
+              <table class="ui-widget ui-widget-content table-hover" wicket:id="groups"/>
             </div>
           </div>
         </div>
@@ -104,6 +104,6 @@ under the License.
       </form>
     </div>
 
-    <div wicket:id="metaEditModalWin">[Show modal window for meta editing (resources, roles)]</div>    
+    <div wicket:id="metaEditModalWin">[Show modal window for meta editing (resources, groups)]</div>    
   </wicket:extend>
 </html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.properties
index 4e7722f..e98ca25 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage.properties
@@ -67,9 +67,9 @@ permittedLoginRetries=Maximum number of subsequent failed logins
 # Sync policy specification properties
 #-----------------------------
 uAltSearchSchemas=Alternative attributes for local search (users)
-rAltSearchSchemas=Alternative attributes for local search (roles)
+gAltSearchSchemas=Alternative attributes for local search (groups)
 userJavaRule=Custom user correlation rule
-roleJavaRule=Custom role correlation rule
+groupJavaRule=Custom group correlation rule
 conflictResolutionAction= Conflict resolution action
 #-----------------------------
 
@@ -84,5 +84,5 @@ SYNC=Synchronization Policy
 GLOBAL_SYNC=Global Synchronization Policy
 #-----------------------------
 resources=Resources
-roles=Roles
+groups=Groups
 authResources=Authentication resources

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_it.properties
index 4f8bf93..756411b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_it.properties
@@ -80,9 +80,9 @@ GLOBAL_SYNC=Policy globale di sincronizzazione
 #-----------------------------
 nonAlphanumericRequired=Carattere non alfanumerico richiesto
 alphanumericRequired=Carattere alfanumerico richiesto
-rAltSearchSchemas=Attributi alternativi per ricerca locale (ruoli)
+gAltSearchSchemas=Attributi alternativi per ricerca locale (gruppi)
 userJavaRule=Regola di correlazione (utenti)
-roleJavaRule=Regola di correlazione (ruoli)
+groupJavaRule=Regola di correlazione (gruppi)
 resources=Risorse
-roles=Ruoli
+groups=Gruppi
 authResources=Risorse di autenticazione

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_pt_BR.properties
index 075756a..a69aeb4 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PolicyModalPage_pt_BR.properties
@@ -67,9 +67,9 @@ permittedLoginRetries=N\u00famero m\u00e1ximo de subsequentes falhas de login
 # Sync policy specification properties
 #-----------------------------
 uAltSearchSchemas=Atributos alternativos para busca local (usu\u00e1rios)
-rAltSearchSchemas=Atributos alternativos para busca local (fun\u00e7\u00f5es)
+gAltSearchSchemas=Atributos alternativos para busca local (grupos)
 userJavaRule=Regra customizada de correla\u00e7\u00e3o de usu\u00e1rio
-roleJavaRule=Regra de correla\u00e7\u00e3o de fun\u00e7\u00e3o customizada
+groupJavaRule=Regra de correla\u00e7\u00e3o de grupo customizada
 conflictResolutionAction= A\u00e7\u00e3o de resolu\u00e7\u00e3o de conflito
 #-----------------------------
 
@@ -83,5 +83,5 @@ GLOBAL_PASSWORD=Pol\u00edtica Global de Senha
 SYNC=Pol\u00edtica de Sincroniza\u00e7\u00e3o
 GLOBAL_SYNC=Pol\u00edtica Global de sincroniza\u00e7\u00e3o
 resources=Recursos
-roles=Fun\u00e7\u00f5es
+groups=Grupos
 authResources=Recursos de autentica\u00e7\u00e3o

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.html
index 37047cc..5ac1379 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.html
@@ -169,15 +169,15 @@ under the License.
                       </div>
                       <div class="tablerow" style="width: auto;">
                         <div class="tablecolumn_field" style="width: auto; padding-right: 5px;">
-                          <span wicket:id="checkRoleFilter">[checkRoleFilter]</span>
+                          <span wicket:id="checkGroupFilter">[checkGroupFilter]</span>
                         </div>
                         <div class="tablecolumn_label" style="width: auto;">
-                          <label for="checkRoleFilter"><wicket:message key="checkRoleFilter"/></label>
+                          <label for="checkGroupFilter"><wicket:message key="checkGroupFilter"/></label>
                         </div>
                       </div>
-                      <div id="roleFilter" style="border: 1px solid #dddddd; padding-bottom: 2%; padding-top: 2%;">
+                      <div id="groupFilter" style="border: 1px solid #dddddd; padding-bottom: 2%; padding-top: 2%;">
                         <div id="condition">
-                          <span wicket:id="roleFilter"/>
+                          <span wicket:id="groupFilter"/>
                         </div>
                       </div>
                     </span>

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.properties
index 4343e45..b058db7 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage.properties
@@ -42,4 +42,4 @@ actionsClasses=Actions classes
 matchingRule=Matching Rule
 unmatchingRule=Unmatching Rule
 checkUserFilter=User Filter
-checkRoleFilter=Role Filter
+checkGroupFilter=Group Filter

http://git-wip-us.apache.org/repos/asf/syncope/blob/4095f1e8/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage_it.properties
index 33134b2..52df2db 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/PushTaskModalPage_it.properties
@@ -44,4 +44,4 @@ syncStatus=Sincronizza stato utente
 matchingRule=Regola di corrispondenza
 unmatchingRule=Regola di non corrispondenza
 checkUserFilter=Filtro Utente
-checkRoleFilter=Filtero Ruolo
+checkGroupFilter=Filtro Gruppo


Mime
View raw message