{"id":37658,"date":"2014-03-04T05:55:55","date_gmt":"2014-03-04T13:55:55","guid":{"rendered":"http:\/\/localhost\/exoblog\/?p=6620"},"modified":"2025-04-09T16:21:51","modified_gmt":"2025-04-09T14:21:51","slug":"use-vaadin-exo-platform-build-stunning-web-applications","status":"publish","type":"post","link":"https:\/\/www.exoplatform.com\/blog\/use-vaadin-exo-platform-build-stunning-web-applications\/","title":{"rendered":"Use Vaadin with eXo Platform and Build Stunning Web Applications"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"37658\" class=\"elementor elementor-37658\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-section elementor-top-section elementor-element elementor-element-9dfee20 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9dfee20\" data-element_type=\"section\" id=\"sec-image-title\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-e4586e3\" data-id=\"e4586e3\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-29effaa elementor-align-left elementor-widget elementor-widget-post-info\" data-id=\"29effaa\" data-element_type=\"widget\" id=\"author-time\" data-widget_type=\"post-info.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/plugins\/elementor\/assets\/css\/widget-icon-list.min.css\"><link rel=\"stylesheet\" href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/plugins\/elementor-pro\/assets\/css\/widget-theme-elements.min.css\">\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-a070ed2 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"4\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span>\n\t\t  \n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-c638fde elementor-inline-item\" itemprop=\"author\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/author\/julien_brulland\/\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author\">\n\t\t\t\t\t\t\t\t\t\tJulien Brulland\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-f24db26 elementor-inline-item\" itemprop=\"datePublished\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-calendar\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date\">\n\t\t\t\t\t\t\t\t\t\tmars 4, 2014\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8e218c8 undertitle elementor-widget elementor-widget-heading\" data-id=\"8e218c8\" data-element_type=\"widget\" id=\"bigtitle\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h1 class=\"elementor-heading-title elementor-size-default\">Use Vaadin with eXo Platform and Build Stunning Web Applications\n<\/h1>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-a0ee580 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"a0ee580\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#0c0d0e;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:\"\";border-bottom:0;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider{width:var(--container-widget-width,100%);--flex-grow:var(--container-widget-flex-grow)}<\/style>\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-e029e92\" data-id=\"e029e92\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2d2a676 elementor-widget elementor-widget-image\" data-id=\"2d2a676\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/elementor\/thumbs\/Use-Vaadin-with-eXo-Platform-r43wlcomr2h0bc3p7ql2wuxyo8hq6eylvr13m2livm.png\" title=\"Use Vaadin with eXo Platform\" alt=\"Use Vaadin with eXo Platform\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-47ea8c4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"47ea8c4\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-0bd2fe0\" data-id=\"0bd2fe0\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e403f35 table-content-cs elementor-widget elementor-widget-table-of-contents\" data-id=\"e403f35\" data-element_type=\"widget\" id=\"sticky-tds\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:&quot;.am__title,h6&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;],&quot;_animation&quot;:&quot;none&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;&quot;,&quot;library&quot;:&quot;&quot;},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;hierarchical_view&quot;:&quot;yes&quot;}\" data-widget_type=\"table-of-contents.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor-pro - v3.8.2 - 21-11-2022 *\/\n.elementor-widget-table-of-contents .elementor-toc__header-title{color:var(--header-color)}.elementor-widget-table-of-contents.elementor-toc--collapsed .elementor-toc__toggle-button--collapse,.elementor-widget-table-of-contents:not(.elementor-toc--collapsed) .elementor-toc__toggle-button--expand{display:none}.elementor-widget-table-of-contents .elementor-widget-container{min-height:var(--box-min-height);border:var(--box-border-width,1px) solid var(--box-border-color,#a4afb7);border-radius:var(--box-border-radius,3px);background-color:var(--box-background-color);-webkit-transition:min-height .4s;-o-transition:min-height .4s;transition:min-height .4s;overflow:hidden}.elementor-toc__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--box-padding,20px);background-color:var(--header-background-color);border-bottom:var(--separator-width,1px) solid var(--box-border-color,#a4afb7)}.elementor-toc__header-title{font-size:18px;margin:0;color:var(--header-color)}.elementor-toc__toggle-button{cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-toc__toggle-button i{color:var(--toggle-button-color)}.elementor-toc__toggle-button svg{height:1em;width:1em;fill:var(--toggle-button-color)}.elementor-toc__spinner-container{text-align:center}.elementor-toc__spinner{font-size:2em}.elementor-toc__spinner.e-font-icon-svg{height:1em;width:1em}.elementor-toc__body{padding:var(--box-padding,20px);max-height:var(--toc-body-max-height);overflow-y:auto}.elementor-toc__body::-webkit-scrollbar{width:7px}.elementor-toc__body::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.elementor-toc__list-wrapper{list-style:none;padding:0}.elementor-toc__list-item{margin-bottom:.5em}.elementor-toc__list-item.elementor-item-active{font-weight:700}.elementor-toc__list-item .elementor-toc__list-wrapper{margin-top:.5em;margin-left:var(--nested-list-indent,1em)}.elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}.elementor-toc__list-item-text-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-toc__list-item-text-wrapper:before,.elementor-toc__list-item-text-wrapper i{margin-right:8px;color:var(--marker-color)}.elementor-toc__list-item-text-wrapper svg{margin-right:8px;fill:var(--marker-color);height:var(--marker-size,.5em);width:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper i{font-size:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper:before{font-size:var(--marker-size,1em)}.elementor-toc--content-ellipsis .elementor-toc__list-item-text{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.elementor-toc__list-items--collapsible>.elementor-toc__list-wrapper>.elementor-toc__list-item>.elementor-toc__list-wrapper{display:none}.elementor-toc__heading-anchor{position:absolute}.elementor-toc__body .elementor-toc__list-item-text{color:var(--item-text-color);-webkit-text-decoration:var(--item-text-decoration);text-decoration:var(--item-text-decoration)}.elementor-toc__body .elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__body .elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}ol.elementor-toc__list-wrapper{counter-reset:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item{counter-increment:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item-text-wrapper:before{content:counters(item,\".\") \". \"}<\/style>\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tContent\t\t\t<\/h4>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7940892\" data-id=\"7940892\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6af781e myheader1 elementor-widget elementor-widget-heading\" data-id=\"6af781e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Overview\n<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-a2a4f76 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"a2a4f76\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-d3ca6c3 elementor-widget elementor-widget-text-editor\" data-id=\"d3ca6c3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p><a href=\"https:\/\/vaadin.com\/\" target=\"_blank\" rel=\"noopener\">Vaadin<\/a>\u00a0is a powerful Java Framework for easily building high quality web-based applications with great looking user interfaces (UI). Vaadin supports two different programming models: server-side and client-side. The server-driven programming model is the more powerful one. It allows you to develop web applications in much the same way as you develop Java desktop applications using Java toolkits such as AWT and Swing.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0354218 elementor-widget elementor-widget-image\" data-id=\"0354218\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"315\" height=\"172\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram.png\" class=\"attachment-large size-large wp-image-6621\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram.png 315w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram-300x164.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram-200x109.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram-100x55.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/00-diagram-55x30.png 55w\" sizes=\"(max-width: 315px) 100vw, 315px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8771196 elementor-widget elementor-widget-text-editor\" data-id=\"8771196\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>You can easily create your UIs on server-side: Vaadin will help you to control the rendering of Javascript and handling of AJAX communication between server and client side.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-2701708 elementor-widget elementor-widget-text-editor\" data-id=\"2701708\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Vaadin supports deploying the application as a standard portlet (JSR-286). In this tutorial, you will see how to make a Vaadin portlet work on our eXo Platform.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1eeff97 myheader1 elementor-widget elementor-widget-heading\" data-id=\"1eeff97\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Create Vaadin portlet\n<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-aa56455 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"aa56455\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-cc5519b elementor-widget elementor-widget-text-editor\" data-id=\"cc5519b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>First of all, let\u2019s create a standard portlet using Vaadin framework. Vaadin supports creation of a portlet project using\u00a0<a href=\"http:\/\/vaadin.com\/eclipse\" target=\"_blank\" rel=\"noopener\">Vaadin Plug-in for Eclipse<\/a>. The plug-in provides a wizard to automatically generate the necessary descriptors for portlets such as portlet.xml. The following steps show how to create a simple QuickNote portlet that allows users to quickly add and edit notes online (you can take Firefox\u2019s add-on QuickFox as an example).<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-3b9915e elementor-widget elementor-widget-text-editor\" data-id=\"3b9915e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Select Vaadin 7 Project wizard.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-365c972 elementor-widget elementor-widget-image\" data-id=\"365c972\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"613\" height=\"674\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard.png\" class=\"attachment-large size-large wp-image-33623\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard.png 613w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-273x300.png 273w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-430x473.png 430w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-298x328.png 298w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-215x236.png 215w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-119x131.png 119w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-82x90.png 82w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-wizard-27x30.png 27w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-e9bbf57 elementor-widget elementor-widget-text-editor\" data-id=\"e9bbf57\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Name this project as QuickNote and use the latest version of configuration. For deployment configuration, remember to choose \u201cGeneric portlet (Portlet 2.0)\u201d. And you might want to try the latest version of Vaadin for this portlet project. Please take note of this version info as we will use it later when deploying the portlet into our platform.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5eea011 elementor-widget elementor-widget-image\" data-id=\"5eea011\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"614\" height=\"671\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project.png\" class=\"attachment-large size-large wp-image-33624\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project.png 614w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-275x300.png 275w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-433x473.png 433w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-300x328.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-216x236.png 216w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-120x131.png 120w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-82x90.png 82w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-new-vaadin-project-27x30.png 27w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1295f35 elementor-widget elementor-widget-text-editor\" data-id=\"1295f35\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Enter the application name, the main UI class name and portlet title. The Theme name identifies the custom theme to be generated in the project.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-fe7a936 elementor-widget elementor-widget-image\" data-id=\"fe7a936\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"613\" height=\"671\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project.png\" class=\"attachment-large size-large wp-image-33625\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project.png 613w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-274x300.png 274w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-432x473.png 432w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-300x328.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-216x236.png 216w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-120x131.png 120w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-82x90.png 82w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-new-vaadin-project-27x30.png 27w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-d9a25c5 elementor-widget elementor-widget-text-editor\" data-id=\"d9a25c5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>As you can see in the project stub, there are several descriptors especially defined for Liferay portal (liferay-xxx.xml and liferay-plugin-package.properties). For eXo portal these files are useless so you can remove them all. The\u00a0<b>portlet.xml<\/b>\u00a0alone is enough. The internal Servlet class is also obsolete in this case because we are developing the portlet.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-10a5718 elementor-widget elementor-widget-text-editor\" data-id=\"10a5718\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Annotation\u00a0<i>@Theme<\/i>\u00a0indicates the theme to be used for the dedicated UI class. Vaadin provides several built-in themes such as reindeer, runo, chameleon, etc. If you don\u2019t want to spend time defining your own custom theme; using one of these built-in themes is good enough for your UI.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-f587578 elementor-widget elementor-widget-image\" data-id=\"f587578\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-1024x511.png\" class=\"attachment-large size-large wp-image-6625\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-1024x511.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-300x150.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-768x383.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-1250x624.png 1250w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-720x359.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-500x249.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-360x180.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-200x100.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-100x50.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev-60x30.png 60w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-dev.png 1301w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-2672937 elementor-widget elementor-widget-text-editor\" data-id=\"2672937\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Change the code of NoteUI as below:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1b786ba elementor-widget elementor-widget-code-highlight\" data-id=\"1b786ba\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>package com.example.quicknote;\r\n\r\nimport java.io.File;\r\nimport java.io.IOException;\r\n\r\nimport com.google.gwt.thirdparty.guava.common.io.Files;\r\nimport com.vaadin.annotations.Theme;\r\nimport com.vaadin.data.Property.ValueChangeEvent;\r\nimport com.vaadin.data.Property.ValueChangeListener;\r\nimport com.vaadin.data.util.FilesystemContainer;\r\nimport com.vaadin.data.util.TextFileProperty;\r\nimport com.vaadin.server.VaadinRequest;\r\nimport com.vaadin.ui.Alignment;\r\nimport com.vaadin.ui.Button;\r\nimport com.vaadin.ui.Button.ClickEvent;\r\nimport com.vaadin.ui.Button.ClickListener;\r\nimport com.vaadin.ui.HorizontalLayout;\r\nimport com.vaadin.ui.RichTextArea;\r\nimport com.vaadin.ui.Table;\r\nimport com.vaadin.ui.Table.ColumnHeaderMode;\r\nimport com.vaadin.ui.TextField;\r\nimport com.vaadin.ui.UI;\r\nimport com.vaadin.ui.VerticalLayout;\r\nimport com.vaadin.ui.VerticalSplitPanel;\r\nimport com.vaadin.ui.Window;\r\n\r\n@SuppressWarnings(\"serial\")\r\n@Theme(\"runo\")\r\npublic class NoteUI extends UI {\r\n\r\n\tpublic static File NOTES_DIR = Files.createTempDir();\r\n\t\/\/ To use a persistent directory in exo data dir, use this:\r\n\t\/\/ public static File NOTES_DIR = new File(\"data\/quicknote\");\r\n\r\n\tFilesystemContainer notes = new FilesystemContainer(NOTES_DIR);\r\n\tTable noteList = new Table(\"Notes\", notes);\r\n\tRichTextArea noteView = new RichTextArea();\r\n\tButton add = new Button(\"+\");\r\n\tString filename;\r\n\tWindow subWindow = new Window(\"Enter note name:\");\r\n\tTextField txtname = new TextField();\r\n\tButton ok = new Button(\"OK\");\r\n\tButton cancel = new Button(\"Cancel\");\r\n\r\n\t@Override\r\n\tprotected void init(VaadinRequest request) {\r\n\r\n\t\tVerticalSplitPanel split = new VerticalSplitPanel(noteList, noteView);\r\n\t\tsplit.setHeight(\"300px\");\r\n\r\n\t\tnoteView.setSizeFull();\r\n\t\tnoteList.setSizeFull();\r\n\r\n\t\ttableRefresh(notes);\r\n\r\n\t\tnoteList.addValueChangeListener(new ValueChangeListener() {\r\n\t\t\tpublic void valueChange(ValueChangeEvent event) {\r\n\t\t\t\tnoteView.setPropertyDataSource(new TextFileProperty(\r\n\t\t\t\t\t\t(File) event.getProperty().getValue()));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t\/\/ Dialog box to enter note name\r\n\t\tVerticalLayout subVert = new VerticalLayout();\r\n\t\tsubVert.setMargin(true);\r\n\t\tsubVert.setSpacing(true);\r\n\t\tsubVert.addComponents(txtname, new HorizontalLayout(ok, cancel));\r\n\t\tsubWindow.setContent(subVert);\r\n\r\n\t\t\/\/ Center it in the browser window\r\n\t\tsubWindow.setResizable(false);\r\n\t\tsubWindow.center();\r\n\r\n\t\t\/\/ Buttons click listener\r\n\t\tok.addClickListener(new ClickListener() {\r\n\t\t\tpublic void buttonClick(ClickEvent event) {\r\n\t\t\t\tfilename = txtname.getValue();\r\n\t\t\t\tif (!filename.equals(\"\")) {\r\n\t\t\t\t\tFile newNode = new File(NOTES_DIR, filename);\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tnewNode.createNewFile();\r\n\t\t\t\t\t} catch (IOException e) {\r\n\t\t\t\t\t\te.printStackTrace();\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttableRefresh(notes);\r\n\t\t\t\t\tnoteList.select(newNode);\r\n\t\t\t\t}\r\n\t\t\t\tsubWindow.close();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tcancel.addClickListener(new ClickListener() {\r\n\t\t\tpublic void buttonClick(ClickEvent event) {\r\n\t\t\t\tsubWindow.close();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tadd.addClickListener(new ClickListener() {\r\n\t\t\tpublic void buttonClick(ClickEvent event) {\r\n\t\t\t\taddWindow(subWindow);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t\/\/ set main layout\r\n\t\tVerticalLayout vert = new VerticalLayout(split, add);\r\n\t\tvert.setWidth(\"285px\");\r\n\t\tvert.setComponentAlignment(add, Alignment.MIDDLE_CENTER);\r\n\t\tsetContent(vert);\r\n\r\n\t}\r\n\r\n\tprivate void tableRefresh(FilesystemContainer data) {\r\n\t\tnoteList.setContainerDataSource(data);\r\n\t\tnoteList.setSelectable(true);\r\n\t\tnoteList.setImmediate(true);\r\n\t\tnoteList.setColumnHeaderMode(ColumnHeaderMode.HIDDEN);\r\n\t\tnoteList.setVisibleColumns(FilesystemContainer.PROPERTY_NAME);\r\n\t}\r\n\r\n}\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-7e14877 elementor-widget elementor-widget-text-editor\" data-id=\"7e14877\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>If you wish to store notes in a persistent directory in exo data dir, please use this:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-fce73a8 elementor-widget elementor-widget-code-highlight\" data-id=\"fce73a8\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>public static File NOTES_DIR = new File(\"data\/quicknote\");\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-2210f41 elementor-widget elementor-widget-text-editor\" data-id=\"2210f41\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>instead of:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-9640dc9 elementor-widget elementor-widget-code-highlight\" data-id=\"9640dc9\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>public static File NOTES_DIR = Files.createTempDir();\r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-4fb8284 elementor-widget elementor-widget-text-editor\" data-id=\"4fb8284\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>and make sure you have\u00a0<b>&lt;Platform Home&gt;\/data\/quicknote<\/b>\u00a0directory already created to store notes.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-09267ac elementor-widget elementor-widget-text-editor\" data-id=\"09267ac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>To get the portlet deployment binary file, just export it to .war file.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-976f808 myheader1 elementor-widget elementor-widget-heading\" data-id=\"976f808\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Integrate Vaadin portlet into eXo Platform\n<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-57a2426 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"57a2426\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-4dc43d8 elementor-widget elementor-widget-text-editor\" data-id=\"4dc43d8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Now we are going to install Vaadin libs, themes and widgetsets into our Platform so that our portlet can run properly. Below are steps to install the Vaadin package into Platform:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8792bca elementor-widget elementor-widget-text-editor\" data-id=\"8792bca\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<ul style=\"list-style: dis; margin-left: 20px!important;\">\n \t<li>Get the Vaadin installation package from the\u00a0<a href=\"https:\/\/vaadin.com\/releases\" target=\"_blank\" rel=\"noopener\">Vaadin download page<\/a>. On the right side you should see all available released packages. Make sure you select the same version as the one you have chosen when creating your portlet and then download the All-in-One distribution zip file.<\/li>\n<br>\n<li>Extract the following Vaadin JARs from the installation package: vaadin-server.jar and vaadin-shared.jar, as well as the vaadin-shared-deps.jar and jsoup.jar dependencies from the lib folder.<\/li>\n<br>\n<li>Rename the JAR files as they were listed above, without the version number.<\/li>\n<br>\n<li>Put the libraries in\u00a0<b>&lt;Platform Home&gt;\/webapps\/WEB-INF\/lib\/.<\/b><\/li>\n<br>\n<li>Extract the VAADIN folders from vaadin-server.jar, vaadin-themes.jar, and vaadin-client-compiled.jar and copy their contents to\u00a0<b>&lt;Platform Home&gt;\/webapps\/html\/VAADIN.<\/b><\/li>\n<\/ul>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5b59563 elementor-widget elementor-widget-text-editor\" data-id=\"5b59563\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><b>$ cd &lt;Platform Home&gt;\/webapps\/html<\/b><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-d518acd elementor-widget elementor-widget-text-editor\" data-id=\"d518acd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><b>$ unzip &lt;path-to&gt;\/vaadin-server-&lt;Vaadin version&gt;.jar \u2018VAADIN\/*\u2019<\/b><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0df53f4 elementor-widget elementor-widget-text-editor\" data-id=\"0df53f4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><b>$ unzip &lt;path-to&gt;\/vaadin-themes-&lt;Vaadin version&gt;.jar \u2018VAADIN\/*\u2019<\/b><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-dcba47b elementor-widget elementor-widget-text-editor\" data-id=\"dcba47b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><b>$ unzip &lt;path-to&gt;\/vaadin-client-compiled-&lt;Vaadin version&gt;.jar \u2018VAADIN\/*\u2019.<\/b><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-ff6c384 elementor-widget elementor-widget-text-editor\" data-id=\"ff6c384\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>If a custom theme or widgetset\u00a0will be used by more than one portlet, it must be copied into this VAADIN folder.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-4cb9b77 elementor-widget elementor-widget-text-editor\" data-id=\"4cb9b77\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>To deploy this portlet to eXo Platform, just simply copy the exported .war file into\u00a0<b>&lt;Platform Home&gt;\/webapps<\/b>. You should find the QuickNote portlet available in the Application Registry after deploying (If it is not there yet, just click Import Applications).<\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8b4d1b4 elementor-widget elementor-widget-image\" data-id=\"8b4d1b4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-1024x534.png\" class=\"attachment-large size-large wp-image-33626\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-1024x534.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-300x157.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-768x401.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-1250x652.png 1250w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-720x376.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-500x261.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-360x188.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-200x104.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-100x52.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform-57x30.png 57w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-platform.png 1301w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-19c8f0c elementor-widget elementor-widget-text-editor\" data-id=\"19c8f0c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Open Page Editor of the page where you would like to add this portlet, then drag and drop the portlet in the right place.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-3786a98 elementor-widget elementor-widget-image\" data-id=\"3786a98\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-1024x532.png\" class=\"attachment-large size-large wp-image-33627\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-1024x532.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-300x156.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-768x399.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-1250x650.png 1250w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-720x374.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-500x260.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-360x187.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-200x104.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-100x52.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor-58x30.png 58w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-page-editor.png 1301w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c8908b1 elementor-widget elementor-widget-text-editor\" data-id=\"c8908b1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Now it\u2019s time to show up QuickNote portlet on eXo Platform.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1ee409d elementor-widget elementor-widget-image\" data-id=\"1ee409d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-1024x533.png\" class=\"attachment-large size-large wp-image-33628\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-1024x533.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-300x156.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-768x399.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-1250x650.png 1250w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-720x375.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-500x260.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-360x187.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-200x104.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-100x52.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform-58x30.png 58w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-vaadin-portlet-exo-platform.png 1290w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-4f7f7db elementor-widget elementor-widget-text-editor\" data-id=\"4f7f7db\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Ready to transform the way you create and manage your pages and content? Try these new features and share your feedbacks with us!<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b6805cd myheader1 elementor-widget elementor-widget-heading\" data-id=\"b6805cd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Going further\n<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-138a08f elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"138a08f\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-f3fbf4a elementor-widget elementor-widget-text-editor\" data-id=\"f3fbf4a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>This is just a Vaadin portlet setup tutorial and the objective is to show how Vaadin UI components are working on eXo Platform. For more advanced portlets you might want to integrate your portlet with the low level service layer of eXo or have a database connection. They are all possible. The next tutorial will show you how Vaadin portlets can interact with eXo APIs and services.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-54be4fe myheader1 elementor-widget elementor-widget-heading\" data-id=\"54be4fe\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Resource<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-36cee8e elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"36cee8e\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1382f1f elementor-widget elementor-widget-text-editor\" data-id=\"1382f1f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Project source code on\u00a0<a href=\"https:\/\/github.com\/exo-addons\/resource-center\/tree\/master\/Vaadin\" target=\"_blank\" rel=\"noopener\">Github<\/a><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-ffb72c4 elementor-widget elementor-widget-text-editor\" data-id=\"ffb72c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><a href=\"https:\/\/community.exoplatform.com\/portal\/dw\/\" target=\"_blank\" rel=\"noopener\"><b>Join the discussion on the eXo Community<\/b><\/a> to learn more about this integration.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1e4e68f elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1e4e68f\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cc3cebf suppblock\" data-id=\"cc3cebf\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-9ccf8a9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9ccf8a9\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-778be04\" data-id=\"778be04\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2538719\" data-id=\"2538719\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-99bcd19 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"99bcd19\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;book&quot;}\">\r\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" data-negative=\"false\">\r\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\r\n\t<path class=\"elementor-shape-fill\" d=\"M194,99c186.7,0.7,305-78.3,306-97.2c1,18.9,119.3,97.9,306,97.2c114.3-0.3,194,0.3,194,0.3s0-91.7,0-100c0,0,0,0,0-0 L0,0v99.3C0,99.3,79.7,98.7,194,99z\"\/>\r\n<\/svg>\t\t<\/div>\r\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-be52380\" data-id=\"be52380\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56a880e elementor-widget elementor-widget-image\" data-id=\"56a880e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"258\" height=\"365\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7.png\" class=\"attachment-full size-full wp-image-61115\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7.png 258w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-212x300.png 212w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-232x328.png 232w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-167x236.png 167w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-93x131.png 93w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-64x90.png 64w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/book-datasheet-7-21x30.png 21w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2025\/01\/elementor\/thumbs\/book-datasheet-7-r2m6j7gnudr8gizskvtagn5gei9a0llg1cfkwqbgwy.png 224w\" sizes=\"(max-width: 258px) 100vw, 258px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3dc183a buttonright\" data-id=\"3dc183a\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8c4e4fc elementor-widget elementor-widget-image\" data-id=\"8c4e4fc\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"266\" height=\"49\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-rectangle-rose.png\" class=\"attachment-full size-full wp-image-59587\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-rectangle-rose.png 266w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-rectangle-rose-200x37.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-rectangle-rose-100x18.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-rectangle-rose-70x13.png 70w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/elementor\/thumbs\/cta-rectangle-rose-150x49.png 350w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/elementor\/thumbs\/cta-rectangle-rose-r0bwa567vyqnu1oeyv98bz8oxo8mqngqr767u5i01k.png 240w\" sizes=\"(max-width: 266px) 100vw, 266px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1d4e4b5 elementor-widget elementor-widget-heading\" data-id=\"1d4e4b5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">FREE DATASHEET<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-49c027b elementor-widget elementor-widget-text-editor\" data-id=\"49c027b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>eXo Platform\u00a0 : The Open-Source<\/p><p>Digital Workplace Platform<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-e714996 elementor-widget elementor-widget-text-editor\" data-id=\"e714996\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Download the eXo Platform\u00a0 Datasheet and discover all the features and benefits<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-671aaf9 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"671aaf9\" data-element_type=\"widget\" data-widget_type=\"button.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\r\n\t\t\t<a href=\"https:\/\/www.exoplatform.com\/datasheet-exo-platform\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\" target=\"_blank\" class=\"elementor-button-link elementor-button elementor-size-md\" role=\"button\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\r\n\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-left\">\r\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-download\"><\/i>\t\t\t<\/span>\r\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Download Now<\/span>\r\n\t\t<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6320b2a elementor-section-full_width elementor-hidden-desktop elementor-section-height-default elementor-section-height-default\" data-id=\"6320b2a\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3a678d9 suppblock\" data-id=\"3a678d9\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-4da1282 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4da1282\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-6d863a3\" data-id=\"6d863a3\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-decd9ff\" data-id=\"decd9ff\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-section elementor-inner-section elementor-element elementor-element-cc3520f elementor-section-full_width elementor-section-height-min-height elementor-section-content-middle elementor-section-height-default\" data-id=\"cc3520f\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;book&quot;}\">\r\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" data-negative=\"false\">\r\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\r\n\t<path class=\"elementor-shape-fill\" d=\"M194,99c186.7,0.7,305-78.3,306-97.2c1,18.9,119.3,97.9,306,97.2c114.3-0.3,194,0.3,194,0.3s0-91.7,0-100c0,0,0,0,0-0 L0,0v99.3C0,99.3,79.7,98.7,194,99z\"\/>\r\n<\/svg>\t\t<\/div>\r\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-custom\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-123b800\" data-id=\"123b800\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c608aa3 elementor-absolute elementor-widget elementor-widget-image\" data-id=\"c608aa3\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/elementor\/thumbs\/book-datasheet-7-r2m6j7gnjustpzmjbg2pcymx0z6rwixi7stvw82xac.png\" title=\"book-datasheet-7\" alt=\"book-datasheet-7\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8e4480b buttonright\" data-id=\"8e4480b\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9df19ba elementor-absolute elementor-widget elementor-widget-image\" data-id=\"9df19ba\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/elementor\/thumbs\/cta-rectangle-rose-r0bwa567rkutpsys940of5kni158n2o6318u4t1738.png\" title=\"cta-rectangle-rose\" alt=\"cta-rectangle-rose\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-57a14c8 elementor-absolute elementor-widget elementor-widget-heading\" data-id=\"57a14c8\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">FREE DATASHEET<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-71d9977 elementor-widget-tablet__width-initial elementor-widget-mobile__width-initial elementor-absolute e-transform elementor-widget elementor-widget-text-editor\" data-id=\"71d9977\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;,&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Download the eXo Platform Datasheet and discover all the features and benefits<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5a5ef6f elementor-align-center elementor-absolute elementor-widget elementor-widget-button\" data-id=\"5a5ef6f\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"button.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\r\n\t\t\t<a href=\"https:\/\/www.exoplatform.com\/datasheet-exo-platform\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\" target=\"_blank\" class=\"elementor-button-link elementor-button elementor-size-xs\" role=\"button\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\r\n\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-left\">\r\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-download\"><\/i>\t\t\t<\/span>\r\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Download Now<\/span>\r\n\t\t<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e03f462 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e03f462\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-30fd3f6\" data-id=\"30fd3f6\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-998ec89 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"998ec89\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2dbf9d0\" data-id=\"2dbf9d0\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56d939c elementor-align-left tags_class_element elementor-widget elementor-widget-post-info\" data-id=\"56d939c\" data-element_type=\"widget\" data-widget_type=\"post-info.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-4f61546\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-tags\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t<span class=\"elementor-post-info__item-prefix\">Tags:<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo\/\" class=\"elementor-post-info__terms-list-item\">eXo<\/a>, <a href=\"https:\/\/www.exoplatform.com\/blog\/product-news\/\" class=\"elementor-post-info__terms-list-item\">Product News<\/a>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-105f90f\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\t&nbsp;\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-16d56cd\" data-id=\"16d56cd\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5a5a1c3 elementor-widget elementor-widget-shortcode\" data-id=\"5a5a1c3\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-shortcode\">\n\n<div class=\"kk-star-ratings kksr-shortcode\"\n    data-payload='{&quot;id&quot;:&quot;37658&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;shortcode&quot;,&quot;align&quot;:&quot;&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;valign&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 vote)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Rate this post<\/span>\n    <\/div>\n    <\/div>\n<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-11d7261 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"11d7261\" data-element_type=\"section\" id=\"end-tet\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-8cc4ddb\" data-id=\"8cc4ddb\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-13efcb1 elementor-widget__width-inherit elementor-widget elementor-widget-testimonial\" data-id=\"13efcb1\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-right:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:left}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}<\/style>\t\t<div class=\"elementor-testimonial-wrapper\">\r\n\t\t\t\r\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-top\">\r\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/author\/julien_brulland\/\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/a338ae9af4be6e21c8c5f69c842b58a4?s=96&amp;d=mm&amp;r=g\" title=\"\" alt=\"\" loading=\"lazy\" \/><\/a>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-testimonial-name\" href=\"https:\/\/www.exoplatform.com\/blog\/author\/julien_brulland\/\" target=\"_blank\">Julien Brulland<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-c44966b\" data-id=\"c44966b\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7ea0f95 elementor-widget elementor-widget-testimonial\" data-id=\"7ea0f95\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-content\">\n  <figcaption>\n  <\/figcaption>\n<\/div>\r\n\t\t\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fc8f98a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fc8f98a\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a642491\" data-id=\"a642491\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cbd07b2 faq-id elementor-widget elementor-widget-heading\" data-id=\"cbd07b2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Related posts<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5374467 emp-cat elementor-widget elementor-widget-shortcode\" data-id=\"5374467\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-shortcode\">\n\t<div class=\"am_ajax_post_grid_wrap\"  style=\"background-color: transparent !important; \" data-pagination_type=\"load_more\" data-am_ajax_post_grid='{\"show_filter\":\"yes\",\"btn_all\":\"yes\",\"initial\":\"-1\",\"layout\":\"1\",\"post_type\":\"post\",\"posts_per_page\":\"3\",\"cat\":\"\",\"terms\":\"\",\"paginate\":\"no\",\"hide_empty\":\"true\",\"orderby\":\"date\",\"order\":\"ASC\",\"pagination_type\":\"load_more\",\"infinite_scroll\":\"\",\"animation\":\"\",\"grid_id\":\"\"}'>\r\n\r\n\t\t\t\t\t<div class=\"asr-filter-div\" data-layout=\"1\"><ul>\r\n\t\t\t\t\t\t\t\t\t<li \r\n\r\n\r\n\r\n \r\n   class=\"asr_texonomy active\" style=\"font-weight:bold;\"data_id=\"-1\" style=\"background-color: transparent !important;\">All<\/li>\r\n\t\t\t\t\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1302\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"508\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"642\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1407\">Anerkennung der Mitarbeiter<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"454\">Digital workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"500\">Digital workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1337\">Arbeitsplatz<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"462\">Employee engagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"616\">Engagement collaborateur<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1465\">Branchentrends<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"486\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"506\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"620\">Avenir du travail<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1411\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"504\">Future of work<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1137\">Actualit\u00e9s<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1366\">Change Management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"460\">Internal communication<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"492\">Collaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"458\">Collaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1287\">Digital Workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1323\">Digitale Transformation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"496\">Exp\u00e9rience collaborateur<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"705\">News<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"452\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1135\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"494\">Communication interne<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1311\">Infografik<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"409\">workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1294\">interne Kommunikation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"456\">Knowledge management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"618\">onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"512\">Employee experience<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"490\">Gestion des connaissances<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1281\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"502\">Conduite de changement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"514\">Employee productivity<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1329\">Kollaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1451\">Leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1187\">Leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"614\">onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1183\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"518\">Employee recognition<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1331\">Leitfaden<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1181\">Astuces et bonnes pratiques<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"516\">Change management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1292\">Mitarbeiter engagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"813\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"411\">Etudes de cas<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1339\">Mitarbeiter Erfahrung<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"622\">Digital transformation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1175\">Guide<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1317\">Nachrichten<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"799\">Infographic<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1185\">Infographie<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1403\">Onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1300\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"510\">Remote work<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"498\">Productivit\u00e9<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1173\">T\u00e9l\u00e9travail<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"488\">Transformation digitale<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1179\">Tutoriel<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1443\">Actualit\u00e9s produit<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1562\">Extranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1461\">Industry trends<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1445\">Product News<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1447\">Produkt Nachrichten<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1309\">Produktivit\u00e4t<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1405\">Reconnaissance des employ\u00e9s<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1307\">Telearbeit<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1463\">Tendances<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1449\">Thought leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1345\">Tipps und Tricks<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"780\">Tips &amp; Tricks<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"819\">Tutorial<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1269\">Uncategorized<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"699\">Uncategorized<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1378\">Wissensmanagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1304\">Zukunft der Arbeit<\/li>\r\n\t\t        \t        <\/ul><\/div>\r\n\t    \r\n\t    <div class=\"asr-ajax-container\" style=\"background-color: transparent !important;\">\r\n\t\t    <div class=\"asr-loader\">\r\n\t\t    \t<div class=\"lds-dual-ring\"><\/div>\r\n\t\t    <\/div>\r\n\t\t    <div class=\"asrafp-filter-result\">\r\n\t\t    \t<div class=\"am-postgrid-wrapper\">\r\n\r\n\t\t<div class=\"am_post_grid am__col-3 am_layout_1  \">\r\n\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-ai-augmented-digital-workplace\/\">\r\n\t\t\t\t\t\t<img width=\"800\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1.png 800w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-300x200.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-768x512.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-710x473.png 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-492x328.png 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-354x236.png 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-197x131.png 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-100x67.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-45x30.png 45w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Cover_blog_features_IA_EN-800x533-1-1-640x426.png 640w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-ai-augmented-digital-workplace\/\"><h2 class=\"am__title\">eXo Platform launches an AI-augmented Digital Workplace<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-ai-augmented-digital-workplace\/\">Today, we are proud to introduce our new AI-augmented Digital Workplace.<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-ai-augmented-digital-workplace\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/product-news\/\" title=\"Product News Tag\" class=\"product-news\">Product News<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"17\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-offline-mode-work-without-internet\/\">\r\n\t\t\t\t\t\t<img width=\"800\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline.png 800w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-300x200.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-768x512.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-710x473.png 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-492x328.png 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-354x236.png 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-197x131.png 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-100x67.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-45x30.png 45w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/03\/Banner_sneak-peek_offline-640x426.png 640w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-offline-mode-work-without-internet\/\"><h2 class=\"am__title\">Work on your documents even without an internet connection thanks to offline mode<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-offline-mode-work-without-internet\/\">Collaborative tools are now central to your daily work life: shared documents,\u2026<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-platform-offline-mode-work-without-internet\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/product-news\/\" title=\"Product News Tag\" class=\"product-news\">Product News<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"5\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-7-1-application-hub-overview\/\">\r\n\t\t\t\t\t\t<img width=\"800\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026.png 800w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-300x200.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-768x512.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-710x473.png 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-492x328.png 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-354x236.png 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-197x131.png 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-100x67.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-45x30.png 45w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2026\/01\/Banner-blog-app-hub-2026-640x426.png 640w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-7-1-application-hub-overview\/\"><h2 class=\"am__title\">Sneak Peek: overview of the new application hub<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-7-1-application-hub-overview\/\">In the latest version, eXo 7.1, the application hub has been revamped\u2026<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo-7-1-application-hub-overview\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/product-news\/\" title=\"Product News Tag\" class=\"product-news\">Product News<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"4\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t<\/div>\r\n\r\n\t\t<div class=\"am_posts_navigation\">\r\n\t\t<button type='button' data-paged='1' data-next='2' class=' am-post-grid-load-more '>Voir Plus<\/button>\t\t<\/div>\r\n\r\n\t\t<\/div>\t\t    <\/div>\r\n\t    <\/div>\r\n    <\/div>\r\n\r\n\t\n\n\n\n\t\t\t\n\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a488322 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a488322\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6bd5465\" data-id=\"6bd5465\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-091cf18 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"091cf18\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-e5b03b0\" data-id=\"e5b03b0\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b97df2 elementor-widget elementor-widget-heading\" data-id=\"7b97df2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Leave a Reply<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-70c885d\" data-id=\"70c885d\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-699492c elementor-widget elementor-widget-text-editor\" data-id=\"699492c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>( Your e-mail address will not be published)<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-ddd7c18 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"ddd7c18\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t","protected":false},"excerpt":{"rendered":"Use Vaadin with eXo Platform and Build Stunning Web Applications Content Overview Vaadin\u00a0is a powerful Java Framework for easily building high quality web-based applications with great looking user interfaces (UI). Vaadin supports two different programming models: server-side and client-side. The server-driven programming model is the more powerful one. It allows you to develop web applications [&hellip;]","protected":false},"author":32,"featured_media":62025,"comment_status":"open","ping_status":"open","sticky":false,"template":"main1-article.php","format":"standard","meta":[],"categories":[1445,508],"tags":[606,647],"lang":"en","translations":{"en":37658},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/37658"}],"collection":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/comments?post=37658"}],"version-history":[{"count":4,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/37658\/revisions"}],"predecessor-version":[{"id":62029,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/37658\/revisions\/62029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media\/62025"}],"wp:attachment":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media?parent=37658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/categories?post=37658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/tags?post=37658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}