You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2015/06/08 22:28:01 UTC

[12/17] syncope git commit: [SYNCOPE-156] working with resource and connector topology

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css b/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
new file mode 100644
index 0000000..23ef109
--- /dev/null
+++ b/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
@@ -0,0 +1,191 @@
+/*
+ * 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.
+ */
+.drop_button{
+  vertical-align: middle;
+}
+
+.add_button{
+  vertical-align: middle;
+  margin-left: 6px;
+}
+
+.date_size{
+  width: 90px;
+}
+
+.long_dynamicsize{
+  width: 80%;
+}
+
+.medium_dynamicsize{
+  width: 45%;
+}
+
+.short_dynamicsize{
+  width: 35%;
+}
+
+.long_fixedsize{
+  width: 500px;
+}
+
+.medium_fixedsize{
+  width: 300px;
+}
+
+.short_fixedsize{
+  width: 150px;
+}
+
+.veryshort_fixedsize{
+  width: 70px;
+}
+
+.all_dynamicsize{
+  width: 100%;
+}
+
+div#formtable {
+  display: table;
+  width: 100%;
+}
+
+div#formtable > span:first-of-type {
+  display: table-row-group;
+  width: 100%;
+}
+
+div.tablerow {
+  display: inline-table;
+  padding: 5px;
+  width: 99%;
+}
+
+div.tablerow.connectorProp {
+  height:22px;
+  vertical-align: middle; 
+  font-size: 12px;
+}
+
+div.tablecolumn_connPropAttr {
+  display: table-cell;
+  vertical-align: middle; 
+}
+
+div.tablerow2 {
+  display: inline-table;
+  padding: 5px 0px 5px 0px;
+  width: 99%;
+}
+
+div.alt {
+  background: #eff3ea;
+}
+
+div.tablecolumn_label{
+  display: table-cell;
+  font-size: 12px;
+  vertical-align: middle;
+  font-family: Verdana,Tahoma,sans-serif;
+  width: 30%;
+}
+
+div.tablecolumn_field{
+  display: table-cell;
+  vertical-align: middle;
+  font-family: Verdana,Tahoma,sans-serif;
+  width: 70%;
+}
+
+div.tablecolumn_check{
+  display: table-cell;
+  margin-right: 5px;
+  margin-left: 2px;
+  vertical-align: middle;
+}
+
+div.tablecolumn2_label{
+  display: table-cell;
+  font-size: 12px;
+  vertical-align: middle;
+  font-family: Verdana,Tahoma,sans-serif;
+  padding-left: 5px;
+  width: 15%;
+}
+
+div.tablecolumn2_field{
+  display: table-cell;
+  vertical-align: middle;
+  font-family: Verdana,Tahoma,sans-serif;
+  width: 35%;
+}
+
+.ui-tabs .ui-tabs-panel {
+  background: none repeat scroll 0 0 #FFFFFF;
+  border-width: 0;
+  display: block;
+  overflow: auto;
+  padding: 1em 1.4em;
+}
+
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
+  font-family: Verdana,Arial,sans-serif;
+  font-size: 12px;
+  padding: 2px 4px;
+}
+
+.ui-widget-header { 
+  border: 1px solid #aaaaaa
+    /*{borderColorHeader}*/; 
+  background: #cccccc
+    /*{bgColorHeader}*/ 
+    url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)
+    /*{bgImgUrlHeader}*/ 
+    50%/*{bgHeaderXPos}*/ 
+    50%/*{bgHeaderYPos}*/ 
+    repeat-x/*{bgHeaderRepeat}*/; 
+  color: #222222/*{fcHeader}*/; 
+  font-weight: bold;
+  padding: 7px 15px;
+}
+
+.ui-button { 
+  display: inline-block; 
+  position: relative; 
+  margin-right: .1em; 
+  cursor: pointer; 
+  text-align: center; 
+  zoom: 1; 
+  overflow: visible; 
+  padding: 7px 15px;
+}
+
+.ui-spinner-button {
+  cursor: default;
+  display: block;
+  font-size: 0.5em;
+  height: 50%;
+  margin: 0;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  right: 0;
+  text-align: center;
+  width: 16px;
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
index 12af172..1b8e565 100644
--- a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
@@ -17,90 +17,168 @@
  * under the License.
  */
 .feedbackPanel {
-  padding-left: 0px;
-  text-align: center;
+    padding-left: 0px;
+    text-align: center;
 }
 
 .notificationpanel_row {  
-  list-style-type: none;
+    list-style-type: none;
 }  
 
 .notificationpanel_row span {  
-  border:0 none;
+    border:0 none;
 }    
 pre {
-  white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
-  white-space: -pre-wrap; /* Opera */
-  white-space: -o-pre-wrap; /* Opera */
-  white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
-  word-wrap: break-word; /* IE 5.5+ */
+    white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
+    white-space: -pre-wrap; /* Opera */
+    white-space: -o-pre-wrap; /* Opera */
+    white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
+    word-wrap: break-word; /* IE 5.5+ */
 }
 
 #veil {
-  display:none;
-  position:absolute;
-  top:0;
-  left:0;
-  z-index:99999;
-  background-color:black;
-  width:100%;
-  height:20000px;
-  color:white;
-  opacity:0.3;
-  filter:alpha(opacity=30);
+    display:none;
+    position:absolute;
+    top:0;
+    left:0;
+    z-index:99999;
+    background-color:black;
+    width:100%;
+    height:20000px;
+    color:white;
+    opacity:0.3;
+    filter:alpha(opacity=30);
 }
 
 #veil img {
-  position:absolute;
-  top:300px;
-  left:50%;
-  margin-left:-75px;
-  width:150px;
+    position:absolute;
+    top:300px;
+    left:50%;
+    margin-left:-75px;
+    width:150px;
 }
 
 .block-sidebar {
-  max-height: 100%; 
-  overflow: auto; 
-  padding-top: 90px; 
-  padding-bottom: 50px; 
-  position: fixed;
+    max-height: 100%; 
+    overflow: auto; 
+    padding-top: 90px; 
+    padding-bottom: 50px; 
+    position: fixed;
 }
 
 .inner-control-sidebar {
-  position: fixed; 
-  height: auto;
+    position: fixed; 
+    height: auto;
 }
 
 .content-margin-layout {
-  margin: 0px 230px 0px 0px !important;
-  padding: 20px !important;
+    margin: 0px 230px 0px 0px !important;
+    padding: 20px !important;
 }
 
 .admin-content-page {
-  padding: 20px;
-  background: #ecf0f5
+    padding: 20px;
+    background: #ecf0f5
 }
 
 .realms {
-  min-height: 554px
+    min-height: 554px
 }
 
 .actions > li > a {
-  padding-top: 5px !important;
-  padding-bottom: 5px !important;
+    padding-top: 5px !important;
+    padding-bottom: 5px !important;
 }
 
 .block-header {
-  position: fixed;
+    position: fixed;
+    width: 100%;
+    top: 0;
+}
+
+.block-footer {
+    position: fixed;
+    width: 100%;
+    bottom: 0px;
 }
 
 .logo-pos {
-  padding-top: 4px !important;
-  overflow: visible !important;
+    padding-top: 4px !important;
+    overflow: visible !important;
+}
+
+.angle {
+    border: medium none !important;
+    cursor: pointer;
+    display: inline-table !important;
+    float: right;
+    height: 30px;
+    overflow: hidden;
+    position: relative !important;
+    right: 0;
+    top: -30px;
+    width: 25%;
+    z-index: 3;
 }
 
 @media (min-width: 768px) {
-  .main-header .logo {
-    height: 54px;
-  }
-}
\ No newline at end of file
+    .main-header .logo {
+	height: 54px;
+    }
+}
+
+.w_caption h3 {
+    font-size: 16px;
+}
+
+div.wicket-modal div.w_content_3 {
+    border: 1px solid #eee;
+    border-radius: 20px;
+    padding: 5px;
+}
+
+.tab-content {
+    margin-bottom: 10px;
+    margin-top: 10px;
+}
+
+a.help {
+  position: relative;
+  display: inline;
+  text-decoration: none;
+}
+
+a.help span {
+  position: absolute;
+  width:19em;
+  color: #000000;
+  background: whitesmoke;
+  visibility: hidden;
+  border-radius: 0px;
+  padding: 3px;
+}
+
+a.help span:after {
+  position: absolute;
+  top: 50%;
+  left: 100%;
+  margin-top: -8px;
+  width: 0;
+  height: 0;
+}
+
+a.help span {
+  visibility: visible;
+  opacity: none;
+  right: 100%;
+  top: 50%;
+  margin-right: 4px;
+  margin-top: -11px;
+  border: 1px solid black;
+  z-index: 1000000;
+}
+
+a.help span a {
+  color: #463;
+  text-decoration: none;
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/META-INF/resources/css/topology.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/topology.css b/client/console/src/main/resources/META-INF/resources/css/topology.css
new file mode 100644
index 0000000..c5744cb
--- /dev/null
+++ b/client/console/src/main/resources/META-INF/resources/css/topology.css
@@ -0,0 +1,160 @@
+/*
+ * 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.
+ */
+.window {
+    border:1px solid #346789;
+    box-shadow: 2px 2px 19px #aaa;
+    -o-box-shadow: 2px 2px 19px #aaa;
+    -webkit-box-shadow: 2px 2px 19px #aaa;
+    -moz-box-shadow: 2px 2px 19px #aaa;
+    -moz-border-radius:0.5em;
+    border-radius:0.5em;
+    opacity:0.8;
+    filter:alpha(opacity=80);
+    width:140px; height:55px;
+    line-height:5em;
+    text-align:center;
+    z-index:20; position:absolute;
+    background-color:#eeeeef;
+    color:black;
+    font-family:helvetica;padding:0.0em;
+    font-size:0.9em;}
+
+.topology_root {
+    background-color:rgba(0,170,0,0.4);
+}
+
+.topology_cs {
+    background-color:rgba(0,100,0,0.10);
+}
+
+.topology_conn {
+    background-color:rgba(100,200,200,0.08);
+}
+
+.topology_res {
+    background-color:rgba(250,230,0,0.09);
+}
+
+.window:hover {
+    box-shadow: 2px 2px 19px #444;
+    -o-box-shadow: 2px 2px 19px #444;
+    -webkit-box-shadow: 2px 2px 19px #444;
+    -moz-box-shadow: 2px 2px 19px #444;
+    opacity:0.6;
+    filter:alpha(opacity=60);
+}
+
+.active {
+    border:1px dotted green;
+}
+.hover {
+    border:1px dotted red;
+}
+._jsPlumb_dragging { 
+    z-index:4000;
+}
+
+#drawing ._jsPlumb_overlay.component.label{
+    background-color: white;
+    border: 1px solid #346789;
+    border-radius: 0.5em 0.5em 0.5em 0.5em;
+    color: black;
+    font-size: 0.8em;
+    opacity: 0.8;
+    padding: 0.5em;
+}
+
+.aLabel {
+    background-color:white; 
+    padding:0.4em; 
+    font:12px sans-serif; 
+    color:#444;
+    z-index:21;
+    border:1px dotted gray;
+    opacity:0.8;
+    filter:alpha(opacity=80);
+    cursor: pointer;
+}
+.aLabel._jsPlumb_hover {
+    background-color:#5C96BC;
+    color:white;	
+    border:1px solid white;
+}
+
+div#topology {
+    position: relative; 
+    border: 0px; 
+    height: 800px; 
+    overflow: hidden;
+}
+
+div#drawing {
+    height: 5000px;
+    width: 5000px;
+    display: block;
+    position: relative;
+    top: -2490px;
+    left: -2270px;
+}
+
+div#zoom {
+    padding : 10px;
+    text-align: right;
+}
+
+div#zoom .fa{
+    font-size: 2em;
+    padding-right: 5px;
+}
+
+div.node-action-link {
+    clear: both;
+    display: block;
+    height: 0px;
+    padding: 3px 8px 0px 0px;
+    position: absolute;
+    right: 0;
+    top: 0;
+}
+
+div.node-action-link .fa{
+    font-size: 14px;
+    display: block !important;
+}
+
+div.node-action-link .dropdown-menu{
+    border-radius: 12px;
+    min-width: 50px;
+    width: 50px;
+}
+
+.window[data-original-title]:hover::after{
+    border: 1px solid #BBB;
+    padding: 5px 10px;
+    background: #EEE;
+    content: attr(data-original-title);
+    position: relative;
+    right: -5px;
+    top:-70px;
+    white-space: nowrap;
+    text-align: center;
+    height: 20px;
+    margin: 0px;
+    border-radius: 0.5em;
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/META-INF/resources/js/topology.js
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/js/topology.js b/client/console/src/main/resources/META-INF/resources/js/topology.js
new file mode 100644
index 0000000..5592b9c
--- /dev/null
+++ b/client/console/src/main/resources/META-INF/resources/js/topology.js
@@ -0,0 +1,244 @@
+/*
+ * 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.
+ */
+var def = {
+    paintStyle: {
+	lineWidth: 2,
+        strokeStyle: "rgba(204,204,204, 0.3)",
+        outlineColor: "#666",
+        outlineWidth: 1
+    },
+    connectorPaintStyle:{
+	lineWidth:2
+    },
+    anchor: "AutoDefault",
+    detachable: false,
+    endpointStyle: {
+	gradient: {
+	    stops: [
+            	[0, "rgba(204,204,204, 1)" ], [1, "rgba(180, 180, 200, 1)" ]
+	    ],
+	    offset: 5.5,
+	    innerRadius: 3.5
+	},
+	radius: 3.5
+    }
+};
+
+var failedConnectorStyle = {
+    lineWidth: 2,
+    strokeStyle: "rgba(220, 220, 220, 1)",
+    outlineColor: "#666",
+    outlineWidth: 1
+};
+
+var disabledConnectorStyle = {
+    lineWidth: 2,
+    strokeStyle: "rgba(255, 69, 0, 1)",
+    outlineColor: "#666",
+    outlineWidth: 1
+};
+
+var disabledConnectorHoverStyle = {
+    strokeStyle: "#FF8C00" 
+};
+
+var failedEndpointStyle = {
+    gradient: {
+	stops: [
+	    [0, "rgba(220, 220, 220, 1)" ], [1, "rgba(180, 180, 200, 1)" ]
+	],
+	offset: 5.5,
+	innerRadius: 3.5
+    },
+    radius: 3.5
+};
+
+var disabledEndpointStyle = {
+    gradient: {
+	stops: [
+	    [0, "rgba(255, 69, 0, 1)" ], [1, "rgba(180, 180, 200, 1)" ]
+	],
+	offset: 5.5,
+	innerRadius: 3.5
+    },
+    radius: 3.5
+};
+
+var enabledConnectorStyle = {
+    lineWidth: 2,
+    strokeStyle: "rgba(65, 155, 30, 0.3)",
+    outlineColor: "#666",
+    outlineWidth: 1
+};
+
+var enabledConnectorHoverStyle = {
+    strokeStyle: "#00FF00" 
+};
+
+var enabledEndpointStyle = {
+    gradient: {
+        stops: [
+            [0, "rgba(65, 155, 30, 0.1)" ], [1, "rgba(180, 180, 200, 0.1)" ]
+        ],
+        offset: 5.5,
+        innerRadius: 3.5
+    },
+    radius: 3.5
+};
+
+function disable(sourceName, targetName){
+    jsPlumb.select({target:targetName}).setPaintStyle(disabledConnectorStyle).setHoverPaintStyle({strokeStyle: "#FF8C00" });
+    jsPlumb.selectEndpoints({element: [targetName]}).setPaintStyle(disabledEndpointStyle);
+}
+
+function enable(sourceName, targetName){
+    jsPlumb.select({target:targetName}).setPaintStyle(enabledConnectorStyle).setHoverPaintStyle({strokeStyle: "#00FF00" });
+    jsPlumb.selectEndpoints({element: [targetName]}).setPaintStyle(enabledEndpointStyle);
+}
+
+function failure(sourceName, targetName){
+    jsPlumb.select({target:targetName}).setPaintStyle(failedConnectorStyle).setHoverPaintStyle({strokeStyle: "#FFFFFF" });
+    jsPlumb.selectEndpoints({element: [targetName]}).setPaintStyle(failedEndpointStyle);
+}
+
+function unknown(sourceName, targetName){
+}
+
+function getTopology(){
+    var topology = $.cookie("topology");
+
+    if(topology == null){
+	var val = {};
+    }else{
+	var val = JSON.parse(decodeURIComponent(topology));
+    }
+
+    return val;
+}
+
+window.refreshPosition = function(element) {
+    var val = getTopology();
+    
+    var id = $(element).attr('id');
+    var left = $(element).css('left');
+    var top = $(element).css('top');
+
+    if(val[id] == null){
+	val[id] = {'top':top,'left':left};
+    }else{
+	val[id].top=top;
+	val[id].left=left;
+    }
+    
+    $.cookie("topology", JSON.stringify(val), { expires: 9999 });
+}
+
+window.setPosition = function(id, x, y) {
+    var val = getTopology();
+
+    try{
+	// We cannot use jQuery selector for id since the syntax of connector server id
+	var element = $(document.getElementById(id));
+	
+	if(val[id] == null){ 
+	    element.css("left", x + "px");
+	    element.css("top", y + "px");
+	}else{
+	    element.css("left", val[id].left);
+	    element.css("top", val[id].top);
+	}
+    }catch(err){
+	console.log("Failure setting position for ", id);
+    }
+}
+
+window.setZoom = function(el, zoom, instance, transformOrigin) {
+    transformOrigin = transformOrigin || [ 0.5, 0.5 ];
+    instance = instance || jsPlumb;
+    el = el || instance.getContainer();
+    
+    var p = [ "webkit", "moz", "ms", "o" ],
+	s = "scale(" + zoom + ")",
+	oString = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
+
+    for (var i = 0; i < p.length; i++) {
+	el.style[p[i] + "Transform"] = s;
+	el.style[p[i] + "TransformOrigin"] = oString;
+    }
+
+    el.style["transform"] = s;
+    el.style["transformOrigin"] = oString;
+
+    instance.setZoom(zoom);
+};
+
+window.zoomIn = function(el, instance, transformOrigin) {
+    var val = getTopology();
+    if(val.__zoom__ == null){
+	var zoom = 0.69;
+    }else{
+	var zoom = val.__zoom__ + 0.01;
+    }
+
+    setZoom(el, zoom, instance, transformOrigin);
+    
+    val['__zoom__']=zoom;
+    $.cookie("topology", JSON.stringify(val), { expires: 9999 });
+};
+
+window.zoomOut = function(el, instance, transformOrigin) {
+    var val = getTopology();
+    if(val.__zoom__ == null){
+	var zoom = 0.67;
+    }else{
+	var zoom = val.__zoom__ - 0.01;
+    }
+
+    setZoom(el, zoom, instance, transformOrigin);
+    
+    val['__zoom__']=zoom;
+    $.cookie("topology", JSON.stringify(val), { expires: 9999 });
+};
+
+window.activate = function(zoom){
+    jsPlumb.draggable(jsPlumb.getSelector(".window"));
+    jsPlumb.setContainer("drawing");
+
+    $("#drawing").draggable({
+	containment: 'topology',
+	cursor: 'move'
+    });
+
+    var val = getTopology();
+    if(val.__zoom__ == null){
+	setZoom($("#drawing")[0], zoom);
+    }else{
+	setZoom($("#drawing")[0], val.__zoom__);
+    }
+}
+
+jsPlumb.importDefaults({
+    Connector : [ "Straight" ],
+    DragOptions: {
+	cursor: "pointer",
+	zIndex: 2000
+    },
+    HoverClass: "connector-hover"
+});
+

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.html
new file mode 100644
index 0000000..0c43c4b
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.html
@@ -0,0 +1,122 @@
+<!--
+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>
+    <link rel="stylesheet" type="text/css" href="css/bulk.css" media="all"/>
+    <style>
+      #dataTableSpan{
+        display:  block;
+        clear:  both;
+        float: none;
+        margin: 10px;
+        padding-top: 10px;
+      }
+
+      #dataTableSpan table{
+        width: 100%;
+      }
+
+      form#pwdMgtForm {
+        border: 1px solid #AAAAAA;
+        margin:10px;
+      }
+
+      div#changepwd {
+        display: inline-row;
+        margin-top: 5px;
+      }
+
+      div#changepwd div{
+        display: table-cell;
+      }
+
+      div#changepwd div#label{
+        padding-left: 5px;
+        vertical-align: middle;
+        font-family: Verdana,Arial,sans-serif;
+      }
+
+      div#password {
+        display: inline-row;
+        margin: 5px;
+      }
+
+      div#continue {
+        display: inline-row;
+        margin: 5px;
+      }
+
+      div#continue div{
+        display: table-cell;
+      }
+
+      div#cancelBtmForm {
+        padding-left: 5px;
+      }
+    </style>
+  </wicket:head>
+  <wicket:extend>
+    <p class="ui-widget ui-corner-all ui-widget-header">
+      <wicket:message key="title"/>&nbsp;<span wicket:id="displayName"/>
+    </p>
+    <span wicket:id="resourceDatatable" id="dataTableSpan">[resources]</span>
+
+    <span wicket:id="pwdMgtFields">[password management]</span>
+
+    <wicket:fragment wicket:id="pwdMgtFragment">
+      <div wicket:id="pwdMgt">
+        <form wicket:id="pwdMgtForm" id="pwdMgtForm">
+          <div id="changepwd">
+            <div id="value">
+              <span wicket:id="changepwd">[changepwd]</span>
+            </div>
+            <div id="label">
+              <label wicket:id="changePwdLabel">[Change password]</label>
+            </div>
+          </div>
+
+          <div id="password">
+            <input type="password" wicket:id="password" id="password" size="25"  style="width: 180px" title="password"/>
+          </div>
+
+          <div id="password">
+            <input type="password" wicket:id="confirm" id="confirm" size="25"  style="width: 180px" title="confirm"/>
+          </div>
+
+          <div id="continue">
+            <div id="continueBtmForm">
+              <input type="button" wicket:id="continue" id="continue"
+                     class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/>
+            </div>
+
+            <div id="cancelBtmForm">
+              <input type="button" wicket:id="cancel" id="cancel"
+                     class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/>
+            </div>
+          </div>
+        </form>
+      </div>
+    </wicket:fragment>
+
+    <wicket:fragment wicket:id="emptyFragment">
+    </wicket:fragment>
+
+    <wicket:child />
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.properties
new file mode 100644
index 0000000..0f1fcdc
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Global Status
+changePwdLabel=Password propagation
+passwordMismatch=Password mismatch

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_it.properties
new file mode 100644
index 0000000..d30c99c
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_it.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Stato Globale
+changePwdLabel=Propagazione password
+passwordMismatch=Password non corrispondenti

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_pt_BR.properties
new file mode 100644
index 0000000..36d86e8
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/AbstractStatusModalPage_pt_BR.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Estatus Global
+changePwdLabel=Password propagation
+passwordMismatch=Password mismatch

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BaseModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BaseModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BaseModalPage.html
index 57fc8d3..c1be88b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BaseModalPage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BaseModalPage.html
@@ -20,17 +20,21 @@ under the License.
   <head>
     <title></title>
 
-    <link rel="stylesheet" type="text/css" href="webjars/jquery-ui/${jquery-ui.version}/themes/base/minified/jquery-ui.min.css" media="all"/>
-    <link rel="stylesheet" type="text/css" href="css/style.css" media="all"/>
-    <link rel="stylesheet" type="text/css" href="css/fieldstyle.css" media="all"/>
-
-    <script type="text/javascript" src="webjars/jquery-ui/${jquery-ui.version}/ui/minified/jquery-ui.min.js"></script>
+    <link href="webjars/bootstrap/${bootstrap.version}/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
+    <link href="webjars/bootstrap-select/${bootstrap-select.version}/dist/css/bootstrap-select.min.css" rel="stylesheet" type="text/css" />
+    <link href="webjars/font-awesome/${font-awesome.version}/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
+    <link href="webjars/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
+    <link href="css/AdminLTE.css" rel="stylesheet" type="text/css" />
+    <link href="css/AdminLTE_skins/skin-green.css" rel="stylesheet" type="text/css" />
+    <link href="css/syncopeConsole.css" rel="stylesheet" type="text/css" />
+    <link href="css/fieldstyle.css" rel="stylesheet" type="text/css" />
+
+    <script type="text/javascript" src="webjars/jquery-ui/${jquery-ui.version}/jquery-ui.min.js"></script>
+    <script type="text/javascript" src="webjars/bootstrap/${bootstrap.version}/js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="webjars/bootstrap-select/${bootstrap-select.version}/dist/js/bootstrap-select.min.js"></script>
+    <script type="text/javascript" src="js/AdminLTE-app.min.js"></script>
 
     <script type="text/javascript">
-      $(function() {
-        $("#tabs").tabs();
-      });
-
       var notificationShownTimes = 0;
 
       function showNotification(componentId, messagecount) {
@@ -50,7 +54,6 @@ under the License.
   </head>
   <body onload="setTimeout('window.focus();', 0);">
     <div wicket:id="feedback"/>
-
     <wicket:child />
   </body>
 </html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/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 66fcc75..147f819 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
@@ -33,10 +33,13 @@ under the License.
     <link href="css/AdminLTE.css" rel="stylesheet" type="text/css" />
     <link href="css/AdminLTE_skins/skin-green.css" rel="stylesheet" type="text/css" />
     <link href="css/syncopeConsole.css" rel="stylesheet" type="text/css" />
+    <link href="css/fieldstyle.css" rel="stylesheet" type="text/css" />
 
+    <script type="text/javascript" src="webjars/jquery-ui/${jquery-ui.version}/jquery-ui.min.js"></script>
     <script type="text/javascript" src="webjars/bootstrap/${bootstrap.version}/js/bootstrap.min.js"></script>
     <script type="text/javascript" src="webjars/bootstrap-select/${bootstrap-select.version}/dist/js/bootstrap-select.min.js"></script>
     <script type="text/javascript" src="js/AdminLTE-app.min.js"></script>
+    
     <script type="text/javascript">
       var notificationShownTimes = 0;
       function showNotification(componentId, messagecount) {
@@ -51,7 +54,7 @@ under the License.
 
     <div class="wrapper">
 
-      <header class="main-header block-pos">
+      <header class="main-header block-header">
         <div class="logo logo-pos">
           <img src="img/logo.png"/>
         </div>
@@ -100,8 +103,8 @@ under the License.
         <section class="sidebar">
           <ul class="sidebar-menu">
             <li wicket:id="dashboardLI"><a href="#" wicket:id="dashboard"><i class="fa fa-dashboard"></i><span>Dashboard</span></a></li>
-            <li wicket:id="realmsLI"><a href="#" wicket:id="realms"><i class="fa fa-users"></i><span>Realms</span></a></li>
-            <li><a href="#"><i class="fa fa-th"></i><span>Resources</span></a></li>
+            <li wicket:id="realmsLI"><a href="#" wicket:id="realms"><i class="fa fa-folder-o"></i><span>Realms</span></a></li>
+            <li wicket:id="topologyLI"><a href="#" wicket:id="topology"><i class="fa fa-database"></i><span>Topology</span></a></li>
             <li><a href="#"><i class="fa fa-pie-chart"></i><span>Reports</span></a></li>
             <li wicket:id="configurationLI" class="treeview">
               <a href="#"><i class="fa fa-edit"></i><span>Configuration</span> <i class="fa fa-angle-left pull-right"></i></a>
@@ -131,7 +134,7 @@ under the License.
         <wicket:child />
       </div>
 
-      <footer class="main-footer">
+      <footer class="main-footer block-footer">
         <div class="pull-right hidden-xs">
           Version <label wicket:id="version"/>
         </div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.html
new file mode 100644
index 0000000..9e5d497
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.html
@@ -0,0 +1,45 @@
+<!--
+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>
+    <link rel="stylesheet" type="text/css" href="css/bulk.css" media="all"/>
+  </wicket:head>
+  <wicket:extend>
+    <p class="ui-widget ui-corner-all ui-widget-header"><wicket:message key="title"/></p>
+
+    <div id="selectedObjects">
+      <table class="ui-widget ui-widget-content table-hover pageRowElement" wicket:id="selectedObjects">[DataTable]</table>
+
+      <div id="actionRow" class="pageRowElement">
+        <div id="actions">
+          <div id="actionPanel" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
+            <span wicket:id="actions">[Actions]</span>
+          </div>
+
+          <div id="cancelBtmForm">
+            <form wicket:id="form">
+              <input type="button" wicket:id="cancel" id="cancel"
+                     class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/>
+            </form>
+          </div>
+        </div>
+      </div>
+    </div>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.properties
new file mode 100644
index 0000000..bd28d80
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage.properties
@@ -0,0 +1,17 @@
+# 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.
+title=Bulk action

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_it.properties
new file mode 100644
index 0000000..3989422
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_it.properties
@@ -0,0 +1,17 @@
+# 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.
+title=Operazioni di gruppo

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_pt_BR.properties
new file mode 100644
index 0000000..ec07d02
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionModalPage_pt_BR.properties
@@ -0,0 +1,17 @@
+# 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.
+title=A\u00E7\u00E3o Composta

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.html
new file mode 100644
index 0000000..16dd256
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.html
@@ -0,0 +1,57 @@
+<!--
+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.
+-->
+
+<!--
+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.
+-->
+<wicket:head>
+  <link rel="stylesheet" type="text/css" href="css/bulk.css" media="all"/>
+</wicket:head>
+<wicket:extend>
+  <p class="ui-widget ui-corner-all ui-widget-header"><wicket:message key="title"/></p>
+
+<div id="selectedObjects">
+  <table class="ui-widget ui-widget-content table-hover pageRowElement" wicket:id="selectedObjects">[DataTable]</table>
+
+  <div id="actionRow" class="pageRowElement">
+    <div id="actions">
+      <div id="cancelBtmForm" style="padding: 0px">
+        <a class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" wicket:id="close">
+          <wicket:message key="close"/>
+        </a>
+      </div>
+    </div>
+  </div>
+</div>
+</wicket:extend>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.properties
new file mode 100644
index 0000000..7ba550c
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Bulk Action Result
+close=Close
+bulkActionResultLabel=Result

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_it.properties
new file mode 100644
index 0000000..4268c00
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_it.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Risultato esecuzion Bulk Action
+close=Chiudi
+bulkActionResultLabel=Esito

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_pt_BR.properties
new file mode 100644
index 0000000..00c3a51
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BulkActionResultModalPage_pt_BR.properties
@@ -0,0 +1,19 @@
+# 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.
+title=Resultado da A\u00E7\u00E3o Composta
+close=Fechar
+bulkActionResultLabel=Implantar

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.html
new file mode 100644
index 0000000..b85acb6
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.html
@@ -0,0 +1,161 @@
+<!--
+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>
+    <p class="ui-widget ui-corner-all ui-widget-header">
+        <span wicket:id="new"/>&nbsp;<wicket:message key="title"/>&nbsp;<span wicket:id="key"/>
+    </p>
+    <div style="margin: 5px;">
+      <form wicket:id="form">
+        <div id="tabs">
+          <ul>
+            <li class="tabs-selected"><a href="#tabs-1"><span><wicket:message key="tab1"/></span></a></li>
+            <li><a href="#tabs-2"><span><wicket:message key="tab2"/></span></a></li>
+            <li><a href="#tabs-3"><span><wicket:message key="tab3"/></span></a></li>
+          </ul>
+          <div id="tabs-1">
+            <div id="formtable">
+              <div class="tablerow alt">
+                <div class="tablecolumn_label short_dynamicsize">
+                  <label for="displayName"><wicket:message key="displayName"/></label>
+                </div>
+                <div class="tablecolumn_field short_dynamicsize">
+                  <span wicket:id="displayName">[displayName]</span>
+                </div>
+              </div>
+
+              <div class="tablerow">
+                <div class="tablecolumn_label short_dynamicsize">
+                  <label for="location"><wicket:message key="location"/></label>
+                </div>
+                <div class="tablecolumn_field short_dynamicsize">
+                  <span wicket:id="location">[location]</span>
+                </div>
+              </div>
+
+              <div class="tablerow alt">
+                <div class="tablecolumn_label short_dynamicsize">
+                  <label for="name"><wicket:message key="name"/></label>
+                </div>
+                <div class="tablecolumn_field medium_dynamicsize">
+                  <span wicket:id="connectorName">[connectorName]</span>
+                </div>
+              </div>
+
+              <div class="tablerow">
+                <div class="tablecolumn_label short_dynamicsize">
+                  <label for="version"><wicket:message key="version"/></label>
+                </div>
+                <div class="tablecolumn_field short_dynamicsize">
+                  <span wicket:id="version">[version]</span>
+                </div>
+              </div>
+            </div>
+            <div style="display: table; border: 1px solid #BBBBBB;">
+              <div class="tablerow2 alt">
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="connRequestTimeout"><wicket:message key="connRequestTimeout"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="connRequestTimeout">[connRequestTimeout]</span>
+                </div>
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="poolMaxObjects"><wicket:message key="poolMaxObjects"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="poolMaxObjects">[poolMaxObjects]</span>
+                </div>
+              </div>
+              <div class="tablerow2">
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="poolMinIdle"><wicket:message key="poolMinIdle"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="poolMinIdle">[poolMinIdle]</span>
+                </div>
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="poolMaxIdle"><wicket:message key="poolMaxIdle"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="poolMaxIdle">[poolMaxIdle]</span>
+                </div>
+              </div>
+              <div class="tablerow2 alt">
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="poolMaxWait"><wicket:message key="poolMaxWait"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="poolMaxWait">[poolMaxWait]</span>
+                </div>
+                <div class="tablecolumn2_label short_dynamicsize">
+                  <label for="poolMinEvictableIdleTime"><wicket:message key="poolMinEvictableIdleTime"/></label>
+                </div>
+                <div class="tablecolumn2_field short_dynamicsize">
+                  <span wicket:id="poolMinEvictableIdleTime">[poolMinEvictableIdleTime]</span>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div id="tabs-2">
+            <div id="formtable">
+              <span wicket:id="container">
+                <div style="border-bottom: 10px">
+                  <div style="width: 40px; text-align: center; font-size: 7px">
+                    <label for="version"><wicket:message key="overridable"/></label>
+                  </div>
+                </div>
+                <form wicket:id="connectorPropForm">
+                  <div class="tablerow connectorProp" wicket:id="connectorProperties">
+                    <div class="tablecolumn_check" style="width: 27px; text-align: center; margin-right: 10px">
+                      <span wicket:id="connPropAttrOverridable">[connPropAttrOverridable]</span>
+                    </div>
+                    <div class="tablecolumn_connPropAttr">
+                      <span wicket:id="connPropAttrSchema">[connPropAttrSchema]</span>
+                    </div>
+                    <div class="tablecolumn_field veryshort_fixedsize">
+                      <span wicket:id="panel">[panel]</span>
+                    </div>
+                  </div>
+                  <div>
+                    <a style="position: absolute; top: 2px; right:20px;" wicket:id="check">
+                      <img src="img/ping.png"width="30" height="30"
+                           alt="ping" title="title" wicket:message="title:check"/>
+                    </a>
+                  </div>
+                </form>
+              </span>
+            </div>
+          </div>
+          <div id="tabs-3">
+            <span wicket:id="capabilitiesPalette"/>
+          </div>
+        </div>
+
+        <div style="margin: 20px 10px 0">
+          <input type="submit"
+                 class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
+                 wicket:id="apply"/>
+          <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/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.properties
new file mode 100644
index 0000000..8500f1a
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage.properties
@@ -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.
+tab1=General
+tab2=Configuration
+tab3=Capabilities
+displayName=Display name
+bundleName=Bundle name
+version=Version
+connRequestTimeout=Request timeout (sec)
+action=Action
+edit=Edit
+edit_attribute=Edit attribute
+serviceName=Service name
+endpoint=Endpoint
+title=Connector
+overridable=Overridable
+property=Property
+value=Value
+
+success_connection=Successful connection
+error_connection=Connection failure
+check=Check connection
+location=Location
+poolMaxObjects=Max objects (idle+active)
+poolMinIdle=Min idle objects
+poolMaxIdle=Max idle objects
+poolMaxWait=Max waiting time (msec)
+poolMinEvictableIdleTime=Min eviction time (msec)
+new=New

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_it.properties
new file mode 100644
index 0000000..96080c3
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_it.properties
@@ -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.
+tab1=Generale
+tab2=Configurazione
+tab3=Capabilities
+bundleName=Bundle name
+version=Versione
+connRequestTimeout=Timeout richiesta (sec)
+action=Azione
+edit=Edit
+edit_attribute=Edit attribute
+serviceName=Nome servizio
+endpoint=Endpoint
+title=Connettore
+displayName=Nome visualizzato
+overridable=Sovrascrivibile
+property=Propriet\u00e0
+value=Valore
+
+success_connection=Connessione avvenuta con successo
+error_connection=Connessione non riuscita
+check=Verifica connessione
+location=Posizione
+poolMaxObjects=Max oggetti (attivi e non)
+poolMinIdle=Max oggetti attivi
+poolMaxIdle=Max oggetti inattivi
+poolMaxWait=Tempo max attesa
+poolMinEvictableIdleTime=Tempo min espulsione
+new=Nuovo

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_pt_BR.properties
new file mode 100644
index 0000000..b688216
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ConnectorModalPage_pt_BR.properties
@@ -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.
+tab1=Geral
+tab2=Configura\u00e7\u00e3o
+tab3=Capacidades
+displayName=Mostrar Nome
+bundleName=Nome do Pacote
+version=Vers\u00e3o
+connRequestTimeout=Timeout da Requisi\u00e7\u00e3o (seg)
+action=A\u00e7\u00e3o
+edit=Alterar
+edit_attribute=Alterar Atributo
+serviceName=Nome de Servi\u00e7o
+endpoint=Endpoint
+title=Conector
+overridable=Alter\u00e1vel
+property=Propriedade
+value=Valor
+
+success_connection=Sucesso na Conex\u00e3o
+error_connection=Falha na Conex\u00e3o
+check=Verificar a Conex\u00e3o
+location=Localiza\u00e7\u00e3o
+poolMaxObjects=Max objects (idle+active)
+poolMinIdle=Min idle objects
+poolMaxIdle=Max idle objects
+poolMaxWait=Max waiting time (msec)
+poolMinEvictableIdleTime=Min eviction time (msec)
+new=Novo

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
index ab26a9e..8a998cc 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
@@ -22,10 +22,12 @@ under the License.
   <wicket:extend>
 
     <div class="wrapper">
-      <div class="admin-content-page content-margin-layout">
+      <div class="admin-content-page content-margin-layout" wicket:id="content">
         <div class="box box-solid box-primary">
           <div class="box-header with-border">
-            <h3 class="box-title">Realm 5</h3>
+            <h3 class="box-title">
+              <wicket:container wicket:id="header"></wicket:container>
+            </h3>
             <div class="box-tools pull-right">
               <ul class="nav navbar-nav actions">
                 <li><a href="#"><i class="fa fa-plus"></i></a></li>
@@ -35,78 +37,43 @@ under the License.
             </div><!-- /.box-tools -->
           </div><!-- /.box-header -->
           <div class="box-body">
-            <div class="realms">body</div>
+            <div class="realms">
+              <wicket:container wicket:id="body"></wicket:container>
+            </div>
           </div>
         </div>
       </div>
 
-      <!-- The Right Sidebar -->
       <aside class="control-sidebar control-sidebar-dark control-sidebar-open block-sidebar">
         <section class="sidebar">
           <ul class="sidebar-menu">
-            <li><a href="#"><i class="fa fa-dashboard"></i><span>Realm 1</span></a></li>
-            <li><a href="#"><i class="fa fa-users"></i><span>Realm 2</span></a></li>
-            <li><a href="#"><i class="fa fa-th"></i><span>Realm 3</span></a></li>
-            <li><a href="#"><i class="fa fa-pie-chart"></i><span>Realm 4</span></a></li>
-            <li class="treeview">
-              <a href="#"><i class="fa fa-edit"></i><span>Realm 5</span> <i class="fa fa-angle-left pull-right"></i></a>
-              <ul class="treeview-menu">
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.1</a></li>
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.2</a></li>
-                <li class="treeview">
-                  <a href="#"><i class="fa fa-edit"></i><span>Realm 5.3</span> <i class="fa fa-angle-left pull-right"></i></a>
-                  <ul class="treeview-menu">
-                    <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.1</a></li>
-                    <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2</a></li>
-                    <li class="treeview">
-                      <a href="#"><i class="fa fa-edit"></i><span>Realm 5.3.2</span> <i class="fa fa-angle-left pull-right"></i></a>
-                      <ul class="treeview-menu">
-                        <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.1</a></li>
-                        <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.2</a></li>
-                        <li class="treeview">
-                          <a href="#"><i class="fa fa-edit"></i><span>Realm 5.3.2.3</span> <i class="fa fa-angle-left pull-right"></i></a>
-                          <ul class="treeview-menu">
-                            <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.1</a></li>
-                            <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.2</a></li>
-                            <li class="treeview">
-                              <a href="#"><i class="fa fa-edit"></i><span>Realm 5.3.2.3.3</span> <i class="fa fa-angle-left pull-right"></i></a>
-                              <ul class="treeview-menu">
-                                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.3.1</a></li>
-                                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.3.2</a></li>
-                                <li class="treeview">
-                                  <a href="#"><i class="fa fa-edit"></i><span>Realm 5.3.2.3.3.3</span> <i class="fa fa-angle-left pull-right"></i></a>
-                                  <ul class="treeview-menu">
-                                    <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.3.3.1</a></li>
-                                    <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.3.2.3.3.3.2</a></li>
-                                  </ul>
-                                </li>
-                              </ul>
-                            </li>
-                          </ul>
-                        </li>
-                      </ul>
-                    </li>
-                  </ul>
-                </li>
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.4</a></li>
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.5</a></li>
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.6</a></li>
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 5.7</a></li>
-              </ul>
-            </li>
-            <li class="treeview">
-              <a href="#"><i class="fa fa-laptop"></i><span>Realm 6</span> <i class="fa fa-angle-left pull-right"></i></a>
-              <ul class="treeview-menu">
-                <li><a href="#"><i class="fa fa-circle-o"></i>Realm 6.1</a></li>
-              </ul>
-            </li>
+            <wicket:container wicket:id="list"></wicket:container>
           </ul>
         </section>
       </aside>
-      <!-- The sidebar's background -->
-      <!-- This div must placed right after the sidebar for it to work-->
       <div class="control-sidebar-bg inner-control-sidebar"></div>
     </div>
 
+    <wicket:fragment wicket:id="withChildren">
+      <li class="treeview">
+        <a href="#" wicket:id="link"><i class="fa fa-folder-o">
+          </i><span wicket:id="name">[ITEM NAME]</span>
+        </a>
+        <a haref="#" class="angle">
+          <i class="fa fa-angle-left pull-right"></i>
+        </a>
+        <ul class="treeview-menu">
+          <wicket:container wicket:id="list"></wicket:container>
+        </ul>
+      </li>
+    </wicket:fragment>
+
+    <wicket:fragment wicket:id="withoutChildren">
+      <li>
+        <a href="#" wicket:id="link">
+          <i class="fa fa-leaf"></i><span wicket:id="name">[ITEM NAME]</span>
+        </a>
+      </li>
+    </wicket:fragment>
   </wicket:extend>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.html
new file mode 100644
index 0000000..8cb22f0
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.html
@@ -0,0 +1,56 @@
+<!--
+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>
+    <form wicket:id="form">
+      <div class="tabbable tabs-left">
+        <ul class="nav nav-tabs">
+          <li class="active"><a  data-toggle="tab" href="#resource"><span><wicket:message key="resource"/></span></a></li>
+          <li><a  data-toggle="tab" href="#umapping"><span><wicket:message key="umapping"/></span></a></li>
+          <li><a  data-toggle="tab" href="#gmapping"><span><wicket:message key="gmapping"/></span></a></li>
+          <li><a  data-toggle="tab" href="#connectorProperties"><span><wicket:message key="connectorProperties"/></span></a></li>
+          <li><a  data-toggle="tab" href="#security"><span><wicket:message key="security"/></span></a></li>
+        </ul>
+        <div class="tab-content">
+          <div id="resource" class="tab-pane active">
+            <span wicket:id="details">[details]</span>
+            <span wicket:id="systeminformation">[System Information]</span>
+          </div>
+          <div id="umapping" class="tab-pane">
+            <span wicket:id="umapping">[umapping]</span>
+          </div>
+          <div id="gmapping" class="tab-pane">
+            <span wicket:id="gmapping">[gmapping]</span>
+          </div>
+          <div id="connectorProperties" class="tab-pane">
+            <span wicket:id="connconf">[connconf]</span>
+          </div>
+          <div id="security" class="tab-pane">
+            <span wicket:id="security">[security]</span>
+          </div>
+        </div>
+      </div>
+
+      <div class="modal-footer">
+        <input type="submit" class="btn btn-primary" wicket:id="apply"/>
+        <input type="button" class="btn btn-default" wicket:id="cancel"/>
+      </div> 
+    </form>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.properties
new file mode 100644
index 0000000..8a8eb3f
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage.properties
@@ -0,0 +1,60 @@
+# 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.
+resource=Resource details
+umapping=User mapping
+connectorProperties=Connector properties
+security=Security
+required_alert=All form fields are required
+connector=Connector
+existing_resources=Existing resources
+action=Action
+edit_attribute=Edit resource
+title=Resource
+extAttrNames=External attributes
+intMappingTypes=Internal mapping types
+entity=Entity
+groupSchema=Group Schema
+accountId=AccountId
+mandatoryCondition=Mandatory
+password=Password
+purpose=Purpose
+mappingUserSchema=Mapping User Schema
+mappingGroupSchema=Mapping Group Schema
+delete=Delete
+intAttrNames=Internal attributes
+enforceMandatoryCondition=Enforce mandatory condition
+fieldName=Field name
+
+accountIdValidation=There must be exactly one AccountId
+propagationMode=Propagation mode
+accountLink=Account link
+enable=Enable
+
+createTraceLevel=Create trace level
+updateTraceLevel=Update trace level
+deleteTraceLevel=Delete trace level
+syncTraceLevel=Synchronization trace level
+propagationPriority=Propagation priority
+propagationPrimary=Propagation primary
+
+success_connection=Successful connection
+error_connection=Connection failure
+check=Check connection
+actionsClasses=Actions classes
+gmapping=Group mapping
+new=New resource
+randomPwdIfNotProvided=Generate random passwords when missing

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_it.properties
new file mode 100644
index 0000000..b98b3ae
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_it.properties
@@ -0,0 +1,60 @@
+# 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.
+resource=Dettagli Risorsa
+umapping=Mapping utenti
+connectorProperties=Propriet\u00e0\u00a0 Connettore
+security=Sicurezza
+required_alert=Tutti i campi sono richiesti
+connector=Connettore
+existing_resources=Risorse esistenti
+action=Azione
+edit_attribute=Modifica risorsa
+title=Risorsa
+extAttrNames=Attributi esterni
+intMappingTypes=Tipo mapping interno
+entity=Entit&agrave;
+groupSchema=Schema Gruppo
+accountId=AccountId
+mandatoryCondition=Obbligatorio
+password=Password
+purpose=Scopo
+mappingUserSchema=Mapping User Schema
+mappingGroupSchema=Mapping Group Schema
+delete=Rimuovi
+intAttrNames=Attributi interni
+enforceMandatoryCondition=Abilita mandatory condition
+fieldName=Nome campo
+
+accountIdValidation=Deve essere definito esattamente un AccountId
+propagationMode=Modalit\u00e0 di propagazione
+accountLink=Account link
+enable=Abilita
+
+createTraceLevel=Livello di tracciamento delle creazioni
+updateTraceLevel=Livello di tracciamento degli aggiornamenti
+deleteTraceLevel=Livello di tracciamento delle cancellazioni
+syncTraceLevel=Livello di tracciamento delle sincronizzazioni
+propagationPriority=Priorit\u00e0 in propagazione
+propagationPrimary=Primaria in propagazione
+
+success_connection=Connessione avvenuta con successo
+error_connection=Connessione non riuscita
+check=Verifica connessione
+actionsClasses=Classi azioni
+gmapping=Mapping gruppi
+new=Nuova risorsa
+randomPwdIfNotProvided=Genera password casuali se mancanti

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_pt_BR.properties
new file mode 100644
index 0000000..a91df81
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/ResourceModalPage_pt_BR.properties
@@ -0,0 +1,60 @@
+# 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.
+resource=Detalhes de Recursos
+umapping=Mapeamento de usu\u00e1rios
+connectorProperties=Propriedades de Conectores
+security=Seguran\u00e7a
+required_alert=Todos os campos deste formul\u00e1rio s\u00e3o obrigat\u00f3rios
+connector=Conector
+existing_resources=Recursos Existentes
+action=A\u00e7\u00e3o
+edit_attribute=Alterar Recurso
+title=Recurso
+extAttrNames=Atributos Externos
+intMappingTypes=Tipos internos de mapeamentos
+entity=Entidade
+groupSchema=Esquema de Grupo
+accountId=Identificador da Conta
+mandatoryCondition=Obrigat\u00f3rio
+password=Senha
+purpose=Prop\u00f3sito
+mappingUserSchema=Esquema de mapeamento de usu\u00e1rio
+mappingGroupSchema=Esquema de mapeamento de grupo
+delete=Excluir
+intAttrNames=Atributos internos
+enforceMandatoryCondition=Aplicar condi\u00e7\u00e3o obrigat\u00f3ria
+fieldName=Nome do Campo
+
+accountIdValidation=Precisa ser exatamente um Identificador de Conta
+propagationMode=Modo de propaga\u00e7\u00e3o
+accountLink=Link de Conta
+enable=Habilitado
+
+createTraceLevel=Criar n\u00edvel de trace
+updateTraceLevel=Atualizar n\u00edvel de trace
+deleteTraceLevel=Excluir n\u00edvel de trace
+syncTraceLevel=N\u00edvel de trace de sincroniza\u00e7\u00e3o
+propagationPriority=Prioridade de propaga\u00e7\u00e3o
+propagationPrimary=Propaga\u00e7\u00e3o prim\u00e1ria
+
+success_connection=Conex\u00e3o com sucesso
+error_connection=Conex\u00e3o sem sucesso
+check=Verificar a conex\u00e3o
+actionsClasses=Classes de a\u00e7\u00f5es
+gmapping=Mapeamento de grupos
+new=Novo recurso
+randomPwdIfNotProvided=Gerar senhas aleat\u00f3rias quando n\u00e3o houver

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
new file mode 100644
index 0000000..487165b
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
@@ -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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:panel>
+
+    <div wicket:id="container">
+      <span wicket:id="resultTable">[Table]</span>
+
+      <span style="float:right">
+        <form wicket:id="paginator" style="display:inline">
+          <label><wicket:message key="displayRows"/></label>
+          <select class="text ui-widget-content ui-corner-all" wicket:id="rowsChooser"/>
+        </form>
+      </span>
+    </div>
+
+    <div wicket:id="editModal">
+    </div>
+
+    <div wicket:id="displayModal">
+    </div>
+
+    <div wicket:id="statusModal">
+    </div>
+
+  </wicket:panel>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.properties
new file mode 100644
index 0000000..6f016a4
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.properties
@@ -0,0 +1,30 @@
+# 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.
+displayRows=Display rows
+
+firstname=Firstname
+surname=Surname
+userId=User Id
+edit=Edit
+delete=Delete
+id=Id
+status=Status
+token=Token
+username=Username
+creationDate=Creation Date
+tokenValued=Valued
+tokenNotValued=Not valued

http://git-wip-us.apache.org/repos/asf/syncope/blob/34ec6712/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel_it.properties
new file mode 100644
index 0000000..02b3b57
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel_it.properties
@@ -0,0 +1,30 @@
+# 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.
+displayRows=display rows
+
+firstname=Nome
+surname=Cognome
+userId=User Id
+edit=Edit
+delete=Rimuovi
+id=Id
+status=Stato
+token=Token
+username=Username
+creationDate=Data Creazione
+tokenValued=Valued
+tokenNotValued=Not valued