<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog @ SIB Visions &#187; vaadinUI</title>
	<atom:link href="http://blog.sibvisions.com/tag/vaadinui/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Fri, 24 Apr 2026 07:44:44 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JVx with Vaadin 8.1 - Milestone 1</title>
		<link>https://blog.sibvisions.com/2017/10/02/jvx-with-vaadin-8-1-milestone-1/</link>
		<comments>https://blog.sibvisions.com/2017/10/02/jvx-with-vaadin-8-1-milestone-1/#comments</comments>
		<pubDate>Mon, 02 Oct 2017 08:51:51 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=7318</guid>
		<description><![CDATA[What a great Monday 
All our Vaadin 7 projects were migrated to Vaadin 8.1 successfully. First snapshots are available and we also have nightly builds for you.
We use the v7 compat layer in our first migration phase because we want a smooth and not an all at-the-same-time migration. Everything works so far and we started [...]]]></description>
			<content:encoded><![CDATA[<p>What a great Monday <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
All our Vaadin 7 projects were migrated to Vaadin 8.1 successfully. First <a href="https://oss.sonatype.org/content/repositories/snapshots/com/sibvisions/">snapshots</a> are available and we also have <a href="https://dev.sibvisions.com/jvx.nightly/">nightly builds</a> for you.</p>
<p>We use the v7 compat layer in our first migration phase because we want a smooth and not an all at-the-same-time migration. Everything works so far and we started the next phase of our migration plan: Cleanup.</p>
<p>We'll replace the v7 compat layer and use v8 features wherever it makes sense and is possible. This will take some time because we expect some hidden problems, but we'll solve the little problems for you <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2017/10/02/jvx-with-vaadin-8-1-milestone-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx Vaadin UI and Vaadin 8.1</title>
		<link>https://blog.sibvisions.com/2017/08/28/jvx-vaadin-ui-and-vaadin-8-1/</link>
		<comments>https://blog.sibvisions.com/2017/08/28/jvx-vaadin-ui-and-vaadin-8-1/#comments</comments>
		<pubDate>Mon, 28 Aug 2017 14:14:36 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=7102</guid>
		<description><![CDATA[Our JVx Vaadin UI is based on vaadin 7.7.9 right now. It works great but vaadin moves forward in big steps. The latest 8.1 release contains many new features and bugfixes. Not all fixes were backported to vaadin 7. This is bad but clear for us. 
So we should switch to vaadin 8.1? 
This isn't [...]]]></description>
			<content:encoded><![CDATA[<p>Our JVx Vaadin UI is based on vaadin 7.7.9 right now. It works great but vaadin moves forward in big steps. The latest 8.1 release contains many new features and bugfixes. Not all fixes were backported to vaadin 7. This is bad but clear for us. </p>
<p><strong>So we should switch to vaadin 8.1</strong>? </p>
<p>This isn't an easy task because vaadin 8 has some new APIs and vaadin moved some parts like FontAwesome to new AddOns. The ContextMenu AddOn was compatible up to vaadin 7, but 8 needs the new official ContextMenu AddOn. The data bindings will work with 8 but needs a compatibility layer.</p>
<p>But anyway, we decided to start the migration and will do everything step-by-step. The first task will do the update of all our vaadin projects to Java 8 and vaadin 8.1. The next step will do the integration of v7 compatibility layer and the following tasks will fix all other problems like ContextMenu, FontAwesome, changed APIs. It's a bigger project and we hopefully will be finished by the end of October.</p>
<p>This blog post is a notice for our vaadin UI users!</p>
<p>We'll keep you up to date <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2017/08/28/jvx-vaadin-ui-and-vaadin-8-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vaadin 7.7</title>
		<link>https://blog.sibvisions.com/2016/09/19/vaadin-7-7/</link>
		<comments>https://blog.sibvisions.com/2016/09/19/vaadin-7-7/#comments</comments>
		<pubDate>Mon, 19 Sep 2016 09:32:15 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=5866</guid>
		<description><![CDATA[Vaadin 7.7.0 is out since 2016-08-24 and 7.7.1 since 2016-09-14.
We're happy to announce that our vaadin UI is based on vaadin 7.7.1 since 2016-09-16. Use our nightly builds or checkout the repository.
And the maven snapshots:

&#60;dependency&#62;
&#160; &#160; &#60;groupId&#62;com.sibvisions.vaadin&#60;/groupId&#62;
&#160; &#160; &#60;artifactId&#62;jvxvaadin-client&#60;/artifactId&#62;
&#160; &#160; &#60;version&#62;1.5-SNAPSHOT&#60;/version&#62;
&#60;/dependency&#62;
&#60;dependency&#62;
&#160; &#160; &#60;groupId&#62;com.sibvisions.vaadin&#60;/groupId&#62;
&#160; &#160; &#60;artifactId&#62;jvxvaadin-server&#60;/artifactId&#62;
&#160; &#160; &#60;version&#62;1.5-SNAPSHOT&#60;/version&#62;
&#60;/dependency&#62;
&#60;dependency&#62;
&#160; &#160; &#60;groupId&#62;com.sibvisions.vaadin&#60;/groupId&#62;
&#160; &#160; &#60;artifactId&#62;jvxvaadin-themes&#60;/artifactId&#62;
&#160; &#160; &#60;version&#62;1.5-SNAPSHOT&#60;/version&#62;
&#60;/dependency&#62;

Your feedback is [...]]]></description>
			<content:encoded><![CDATA[<p>Vaadin 7.7.0 is out since 2016-08-24 and 7.7.1 since 2016-09-14.</p>
<p>We're happy to announce that our vaadin UI is based on vaadin 7.7.1 since 2016-09-16. Use our <a href="https://dev.sibvisions.com/jvx.nightly/">nightly builds</a> or checkout the <a href="https://sourceforge.net/projects/jvx/">repository</a>.</p>
<p>And the maven snapshots:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;dependency<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;groupId<span class="re2">&gt;</span></span></span>com.sibvisions.vaadin<span class="sc3"><span class="re1">&lt;/groupId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;artifactId<span class="re2">&gt;</span></span></span>jvxvaadin-client<span class="sc3"><span class="re1">&lt;/artifactId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;version<span class="re2">&gt;</span></span></span>1.5-SNAPSHOT<span class="sc3"><span class="re1">&lt;/version<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/dependency<span class="re2">&gt;</span></span></span></p>
<p><span class="sc3"><span class="re1">&lt;dependency<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;groupId<span class="re2">&gt;</span></span></span>com.sibvisions.vaadin<span class="sc3"><span class="re1">&lt;/groupId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;artifactId<span class="re2">&gt;</span></span></span>jvxvaadin-server<span class="sc3"><span class="re1">&lt;/artifactId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;version<span class="re2">&gt;</span></span></span>1.5-SNAPSHOT<span class="sc3"><span class="re1">&lt;/version<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/dependency<span class="re2">&gt;</span></span></span></p>
<p><span class="sc3"><span class="re1">&lt;dependency<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;groupId<span class="re2">&gt;</span></span></span>com.sibvisions.vaadin<span class="sc3"><span class="re1">&lt;/groupId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;artifactId<span class="re2">&gt;</span></span></span>jvxvaadin-themes<span class="sc3"><span class="re1">&lt;/artifactId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;version<span class="re2">&gt;</span></span></span>1.5-SNAPSHOT<span class="sc3"><span class="re1">&lt;/version<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/dependency<span class="re2">&gt;</span></span></span></div>
</div>
<p>Your feedback is appreciated <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2016/09/19/vaadin-7-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release day - Merry Christmas</title>
		<link>https://blog.sibvisions.com/2015/12/24/release-day-merry-christmas/</link>
		<comments>https://blog.sibvisions.com/2015/12/24/release-day-merry-christmas/#comments</comments>
		<pubDate>Thu, 24 Dec 2015 08:40:26 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Release notes]]></category>
		<category><![CDATA[headlessUI]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[vaadinUI]]></category>
		<category><![CDATA[vert.x]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=5324</guid>
		<description><![CDATA[Yesterday, we've released JVx 2.4, VaadinUI 1.4, HeadlessUI 1.1 and JVx vert.x 3.0.
Headless UI and JVx vert.x are maintenance updates because of JVx changes. JVx 2.4 is a bugfix release with some new cool features and VaadinUI is a performance tuning and bugfix release.
JVx and VaadinUI are available on Maven central. The other releases are [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, we've released <strong>JVx 2.4</strong>, <strong>VaadinUI 1.4</strong>, <strong>HeadlessUI 1.1</strong> and <strong>JVx vert.x 3.0</strong>.</p>
<p>Headless UI and JVx vert.x are maintenance updates because of JVx changes. JVx 2.4 is a bugfix release with some new cool features and VaadinUI is a performance tuning and bugfix release.</p>
<p>JVx and VaadinUI are available on <a href="http://search.maven.org/#search%7Cga%7C1%7Csibvisions">Maven central</a>. The other releases are hosted on <a href="http://sourceforge.net/projects/jvx/files/?source=navbar">SourceForge</a>.</p>
<h4 style="padding-top: 15px;"><strong>What's new in JVx 2.4?</strong></h4>
<ul>
<li><strong>Thread safety</strong>
<p>DataBook (MemDataBook, RemoteDataBook) are now Thread safe. It wasn't guaranteed before 2.4.</li>
<li><a href="http://blog.sibvisions.com/2015/12/18/using-boolean-datatype-with-oracle-and-jdbc/">Support for Boolean</a> <strong>and Arrays (Oracle)</strong>
<p>JVx' OracleDBAccess supports Boolean DataTypes via JDBC calls and Arrays as well. We wrapped the functionality in our existing API and it makes no difference for you. Arrays are wrapped as List of IBeans.</li>
<li><strong>Parameter changed event in WorkScreen</strong>
<p>The WorkScreen class got a new event: eventParameterChanged. It enables notification about parameter changes.</li>
<li><strong>New AbstractFactory</strong>
<p>We introduced AbstractFactory and changed all factory implementations. With AbstractFactory, it's possible to set custom factory properties. We use this new feature for vaadin UI. With new Vaadin UI it's possible to use the old Table or the new Grid implementation. Simply set a property for that.</li>
<li><strong>API change: IFactory</strong>
<p>The invokeInThread method now returns the Thread instance.</li>
<li><a href="http://blog.sibvisions.com/2015/10/02/official-fontawesome-support-in-jvx/">FontAwesome support</a></li>
<li><a href="http://forum.sibvisions.com/viewtopic.php?f=11&#038;t=928">Automatic Record translation</a></li>
</ul>
<h4 style="padding-top: 15px;"><strong>What's new in Vaadin 1.4?</strong></h4>
<ul>
<li><strong>Based on vaadin 7.5.7</strong></li>
<li><a href="http://blog.sibvisions.com/2015/09/29/jvx-vaadinui-supports-fontawesome-and-vaadin/">FontIcon support</a></li>
<li><strong>Grid support (experimental)</strong>
<p>Set the factory property: <strong>vaadin.component.legacy_table</strong> to true (via web.xml as init parameter or as URL parameter).</li>
<li><strong>Lazy loading of LinkedCellEditor</strong>
<p>Before 1.4, all LinkedCellEditors were loaded immediate. This was a performance impact. With 1.4 this was changed and data will be loaded, when needed.</li>
<li><strong>Performance tuning</strong>
<p>The performance is now about 5 times faster than before. We improved the performance because we reduced our CssExtension and reduced the database calls. You can feel the new performance <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<h4 style="padding-top: 15px;"><strong>What's new in JVx vert.x 3.0?</strong></h4>
<p>It's based on <a href="http://vertx.io/">Vert.x 3</a> and works with JVx 2.4.<br />
(JVx vert.x is hosted on <a href="https://github.com/sibvisions/jvx.vert.x">GitHub</a>)</p>
<h4 style="padding-top: 15px;"></h4>
<p>You can find all changes in the project Changelogs.<br />
Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/12/24/release-day-merry-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eTV in Action</title>
		<link>https://blog.sibvisions.com/2015/12/18/etv-in-action/</link>
		<comments>https://blog.sibvisions.com/2015/12/18/etv-in-action/#comments</comments>
		<pubDate>Fri, 18 Dec 2015 07:00:21 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[eTV]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[vaadinUI]]></category>
		<category><![CDATA[VisionX]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=5286</guid>
		<description><![CDATA[Some days ago, I wrote about our eTV project. The blog post had some pictures but no more details. I want to tell you some details about this project because it's simply awesome.
The project was a research project of our framework team and was started just for fun. The use-case was simple: Our room had [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago, I wrote about our eTV project. The blog post had some pictures but no more details. I want to tell you some details about this project because it's simply awesome.</p>
<p>The project was a research project of our framework team and was started just for fun. The use-case was simple: Our room had 4 walls and 3 were full with pictures and world maps. Only one wall was empty. Why not using a flat TV for showing different content like livestreams, comic strips, images.</p>
<p>The idea was great and some days later, the last wall was full. A nice 43" flat TV was mounted.</p>
<p>We thought that a RaspberryPi could bring the content to the TV because it's a small device and fits behind the TV. Java works without problems on the Pi and JVx as well.</p>
<p>After all hardware pieces were ready, it was time to think about the software because a sort of control center was needed to implement some features. The plan was to write a simple server which has a set of commands like: open website, show image, play livestream, execute command, upload file, download file.</p>
<p>The server was implemented as simple socket server, with JVx. It executes pre-configured commands and has some important control features: take screenshot, next - previous window, get window list, close window. The server has no GUI and is more or less a window/process manager.</p>
<p>The server has no GUI, but we need a GUI to control the server. We wrote a simple JVx application as remote control. The remote control application was deployed on a Jetty application server (on the RasPi, with vaadin UI) and as <a href="http://blog.sibvisions.com/2015/11/28/5250/">mobile JavaFX application</a>. Jetty runs fine on the RasPi and our vaadin UI as well.</p>
<p>The TV with RaspberryPi, streaming a Video from YouTube:</p>
<div id="attachment_5288" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_stream.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_stream-300x225.jpg" alt="eTV YouTube Stream" title="eTV_stream" width="300" height="225" class="size-medium wp-image-5288" /></a><p class="wp-caption-text">eTV YouTube Stream</p></div>
<p>After we were ready with the server, we tried to create a simple JVx demo application to demonstrate JVx on embedded devices. It was funny to use eTV for live streams or to show images, but what about real-world use-cases?</p>
<p>The idea was about a JavaFX application, running on the RasPi. The application could be a monitoring app for a warehouse with a nice looking frontend and a backoffice view for administration. It's usual to have a nice looking frontend and a not so nice looking backoffice part.</p>
<p>We've implemented an application for a big assembly hall. The application is a styled JVx application but still 100% JVx. We've used VisionX to create the UI:</p>
<table>
<tr>
<td><div id="attachment_5291" class="wp-caption alignnone nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/hall.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/hall-300x170.jpg" alt="VisionX design mode" title="hall" width="300" height="170" class="size-medium wp-image-5291" /></a><p class="wp-caption-text">VisionX design mode</p></div></td>
<td style="width: 20px;"></td>
<td><div id="attachment_5292" class="wp-caption alignnone nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_tvhall.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_tvhall-300x225.jpg" alt="TV mode" title="etv_tvhall" width="300" height="225" class="size-medium wp-image-5292" /></a><p class="wp-caption-text">TV mode</p></div></td>
<tr>
</table>
<p>The application in VisionX is not 100% the same as on the TV because of the screen resolution, but it's the same source code and VisionX works with this application. The application on the TV hides the application frame and only shows the screen content, but this is a supported feature.</p>
<p>The UI technology is not JavaFX! We tried to use JavaFX but it wasn't possible because the RasPi had performance problems with the amount of nodes. It wasn't possible to reduce the amount of used nodes with standard JavaFX controls. Overclocking the Pi didn't solve the problem.</p>
<p>We simply switched to Swing and didn't have any performance problems. So, the UI technology is good old Swing. It works great in combination with the RasPi and we think the result is also nice!</p>
<p>The application is a monitoring application for different events, like performance, effort, pressure, temperature, aerodynamics, alerts. We did connect a temp sensor and two buzzers to get a better real-world experience and because it was easy to support with a RasPi. Initial setup:</p>
<div id="attachment_5298" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_buzzer.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_buzzer-300x275.jpg" alt="Initial setup" title="etv_buzzer" width="300" height="275" class="size-medium wp-image-5298" /></a><p class="wp-caption-text">Initial setup</p></div>
<p>The backoffice/backend was deployed as web application (Jetty on RaspberryPi, JVx vaadin UI) because it should be possible to use it on tablets or smartphones without native apps:</p>
<div id="attachment_5300" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_backend.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/eTV_backend-300x181.jpg" alt="Backend view" title="eTV_backend" width="300" height="181" class="size-medium wp-image-5300" /></a><p class="wp-caption-text">Backend view</p></div>
<p>The same UI on mobile phones:<br />
<center></p>
<table>
<tr>
<td><div id="attachment_5301" class="wp-caption alignnone nomargin" style="width: 179px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile-169x300.jpg" alt="Mobile view" title="etv_mobile" width="169" height="300" class="size-medium wp-image-5301" /></a><p class="wp-caption-text">Mobile view</p></div></td>
<td style="width: 20px;"></td>
<td><div id="attachment_5302" class="wp-caption alignnone nomargin" style="width: 179px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile_full.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_mobile_full-169x300.jpg" alt="Mobile view (no menu)" title="etv_mobile_full" width="169" height="300" class="size-medium wp-image-5302" /></a><p class="wp-caption-text">Mobile view (no menu)</p></div></td>
</tr>
</table>
<p></center></p>
<p>The application is a 100% JVx application with Swing UI and vaadin UI. Everything runs directly on the RaspberryPi. </p>
<p>We've used the whole eTV system as showcase application at DOAG conference in November:</p>
<div id="attachment_5305" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_doag.jpg" rel="lightbox[5286]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/12/etv_doag-300x225.jpg" alt="eTV @ DOAG 2015" title="etv_doag" width="300" height="225" class="size-medium wp-image-5305" /></a><p class="wp-caption-text">eTV @ DOAG 2015</p></div>
<p>The results of our "research project" are awesome and eTV is a ready-to-use product. We didn't code one line of code to support different UI technologies and didn't have problems with resolutions of tablets, smartphones or the TV (#responsive). </p>
<p>Thanks to JVx it was super easy to create an amazing application.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/12/18/etv-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx&#039; vaadinUI supports FontAwesome and VaadinIcons</title>
		<link>https://blog.sibvisions.com/2015/09/29/jvx-vaadinui-supports-fontawesome-and-vaadin/</link>
		<comments>https://blog.sibvisions.com/2015/09/29/jvx-vaadinui-supports-fontawesome-and-vaadin/#comments</comments>
		<pubDate>Tue, 29 Sep 2015 15:33:47 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=5066</guid>
		<description><![CDATA[Vaadin has support for FontIcons since release 7.2. The first supported FontIcon was FontAwesome. Vaadin has a nice description in their book.
It's straight forward:

button.setIcon&#40;FontAwesome.SAVE&#41;;

Since June 2015 vaadin also supports their own Font Icons: Vaadin Font Icons.
In our JVx' VaadinUI, it wasn't possible to use FontIcons without accessing the real vaadin resource, e.g.

&#40;&#40;com.vaadin.ui.Button&#41;button.getResource&#40;&#41;&#41;.setIcon&#40;FontAwesome.SAVE&#41;;

With next release, we'll [...]]]></description>
			<content:encoded><![CDATA[<p>Vaadin has support for FontIcons since release 7.2. The first supported FontIcon was <a href="https://fortawesome.github.io/Font-Awesome/">FontAwesome</a>. Vaadin has a nice <a href="https://vaadin.com/wiki/-/wiki/Main/Using+font+icons">description in their book</a>.</p>
<p>It's straight forward:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">button.<span class="me1">setIcon</span><span class="br0">&#40;</span>FontAwesome.<span class="me1">SAVE</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>Since June 2015 vaadin also supports their own Font Icons: <a href="https://vaadin.com/blog/-/blogs/vaadin-font-icons">Vaadin Font Icons</a>.</p>
<p>In our JVx' VaadinUI, it wasn't possible to use FontIcons without accessing the real vaadin resource, e.g.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="br0">&#40;</span><span class="br0">&#40;</span>com.<span class="me1">vaadin</span>.<span class="me1">ui</span>.<span class="kw3">Button</span><span class="br0">&#41;</span>button.<span class="me1">getResource</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>.<span class="me1">setIcon</span><span class="br0">&#40;</span>FontAwesome.<span class="me1">SAVE</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>With next release, we'll allow FontAwesome and VaadinIcons out-of-the-box, without accessing the ressource and without manual installation of font icons, because our UI has everything included. </p>
<p>It will be possible to write:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">button.<span class="me1">setImage</span><span class="br0">&#40;</span>UIImage.<span class="me1">getImage</span><span class="br0">&#40;</span><span class="st0">&quot;FontAwesome.SAVE&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>or</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">button.<span class="me1">setImage</span><span class="br0">&#40;</span>UIImage.<span class="me1">getImage</span><span class="br0">&#40;</span><span class="st0">&quot;VaadinIcons.ARROW_CIRCLE_DOWN_O&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>This feature is not official because it's not technology independent, but it's already available in our nightly builds <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/09/29/jvx-vaadinui-supports-fontawesome-and-vaadin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx&#039; Vaadin UI 1.3 is available</title>
		<link>https://blog.sibvisions.com/2015/08/24/jvx-vaadin-ui-1-3-is-available/</link>
		<comments>https://blog.sibvisions.com/2015/08/24/jvx-vaadin-ui-1-3-is-available/#comments</comments>
		<pubDate>Mon, 24 Aug 2015 07:20:15 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Release notes]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4920</guid>
		<description><![CDATA[The next release of our JVx' vaadin UI is available. It's not a big update but an important one because vaadin was updated to 7.5.0 and we support CORS out-of-the-box. We also have some annotations for easier application deployment.
The best thing for most of you is that starting with 1.3 our vaadin UI can be [...]]]></description>
			<content:encoded><![CDATA[<p>The next release of our JVx' vaadin UI is available. It's not a big update but an important one because vaadin was updated to 7.5.0 and we support CORS out-of-the-box. We also have some <a href="http://blog.sibvisions.com/2015/08/20/vaadinui-without-web-xml/">annotations for easier application deployment</a>.</p>
<p>The best thing for most of you is that starting with 1.3 our vaadin UI can be found on <a href="http://search.maven.org/#search%7Cga%7C1%7Ccom.sibvisions.vaadin">maven central</a>.</p>
<p>Simply add the dependency:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;dependency<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;groupId<span class="re2">&gt;</span></span></span>com.sibvisions.vaadin<span class="sc3"><span class="re1">&lt;/groupId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;artifactId<span class="re2">&gt;</span></span></span>jvxvaadin-server<span class="sc3"><span class="re1">&lt;/artifactId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;version<span class="re2">&gt;</span></span></span>1.3<span class="sc3"><span class="re1">&lt;/version<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/dependency<span class="re2">&gt;</span></span></span></div>
</div>
<p>We also upload snaphsots of vaadin UI, starting with current 1.4 branch<br />
Simply configure the repository:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;repository<span class="re2">&gt;</span></span></span> &nbsp; <br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;id<span class="re2">&gt;</span></span></span>sonatype-nexus-snapshots<span class="sc3"><span class="re1">&lt;/id<span class="re2">&gt;</span></span></span> &nbsp; &nbsp;<br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;name<span class="re2">&gt;</span></span></span>Sonatype Snapshots<span class="sc3"><span class="re1">&lt;/name<span class="re2">&gt;</span></span></span> &nbsp; <br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;url<span class="re2">&gt;</span></span></span>https://oss.sonatype.org/content/repositories/snapshots/<span class="sc3"><span class="re1">&lt;/url<span class="re2">&gt;</span></span></span> <br />
<span class="sc3"><span class="re1">&lt;/repository<span class="re2">&gt;</span></span></span></div>
</div>
<p>and use following dependency:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;dependency<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;groupId<span class="re2">&gt;</span></span></span>com.sibvisions.vaadin<span class="sc3"><span class="re1">&lt;/groupId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;artifactId<span class="re2">&gt;</span></span></span>jvxvaadin-server<span class="sc3"><span class="re1">&lt;/artifactId<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;version<span class="re2">&gt;</span></span></span>1.4-SNAPSHOT<span class="sc3"><span class="re1">&lt;/version<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/dependency<span class="re2">&gt;</span></span></span></div>
</div>
<p>The release files are also available on <a href="https://sourceforge.net/projects/jvx/files/vaadin%20UI/1.3/">SourceForge</a>.</p>
<p>The complete <a href="https://sourceforge.net/projects/jvx/files/vaadin%20UI/1.3/README_changes_vaadinui_v1_2_to_v1_3.txt/view">Changelog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/08/24/jvx-vaadin-ui-1-3-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx&#039; vaadinUI and CORS</title>
		<link>https://blog.sibvisions.com/2015/06/02/jvx-vaadinui-and-cors/</link>
		<comments>https://blog.sibvisions.com/2015/06/02/jvx-vaadinui-and-cors/#comments</comments>
		<pubDate>Tue, 02 Jun 2015 13:42:22 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4429</guid>
		<description><![CDATA[CORS
All details about Cross-origin resource sharing.
Use-case
Embedd a vaadin application in your CMS (e.g. Joomla, Typo3). The CMS runs in an hosted environment without Java application server (standard and cheap web hosting).
Howto
There's an excellent blog post from vaadin. It's not rocket science to implement this, but you have to do it. We think this things could [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CORS</strong></p>
<p>All details about <a href="http://en.wikipedia.org/wiki/Cross-origin_resource_sharing">Cross-origin resource sharing</a>.</p>
<p><strong>Use-case</strong></p>
<p>Embedd a vaadin application in your CMS (e.g. Joomla, Typo3). The CMS runs in an hosted environment without Java application server (standard and cheap web hosting).</p>
<p><strong>Howto</strong></p>
<p>There's an excellent <a href="https://vaadin.com/blog/-/blogs/using-cors-with-vaadin">blog post from vaadin</a>. It's not rocket science to implement this, but you have to do it. We think this things could be done automatically and so we've added the support to our UI implementation for JVx.</p>
<p>It's really simple to use:</p>
<p>Add following parameter to your <strong>web.xml</strong>:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>cors.origin<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>http://www.hosteddomain.com<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <br />
<span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>pushmode<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>automatic<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <br />
<span class="sc3"><span class="re1">&lt;async-supported<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/async-supported<span class="re2">&gt;</span></span></span></div>
</div>
<p>(be sure that async-support was enabled for all vaadin servlets/filters)</p>
<p>The <em>cors.origin</em> parameter can be a comma separated list.</p>
<p>And here's an example html file:</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc0">&lt;!DOCTYPE html&gt;</span></p>
<p><span class="sc2">&lt;<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/meta.html"><span class="kw2">meta</span></a> <span class="kw3">http-equiv</span><span class="sy0">=</span><span class="st0">&quot;Content-Type&quot;</span> <span class="kw3">content</span><span class="sy0">=</span><span class="st0">&quot;text/html; charset=utf-8&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/meta.html"><span class="kw2">meta</span></a> <span class="kw3">http-equiv</span><span class="sy0">=</span><span class="st0">&quot;X-UA-Compatible&quot;</span> <span class="kw3">content</span><span class="sy0">=</span><span class="st0">&quot;IE=11;chrome=1&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/link.html"><span class="kw2">link</span></a> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">&quot;shortcut icon&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;image/vnd.microsoft.icon&quot;</span> </span><br />
<span class="sc2"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;./VAADIN/themes/jvx/favicon.ico&quot;</span> <span class="sy0">/</span>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/link.html"><span class="kw2">link</span></a> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">&quot;icon&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;image/vnd.microsoft.icon&quot;</span> </span><br />
<span class="sc2"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;./VAADIN/themes/jvx/favicon.ico&quot;</span> <span class="sy0">/</span>&gt;</span></p>
<p>&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>Embedded Vaadin application<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span></p>
<p>&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> </span><br />
<span class="sc2"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;./VAADIN/widgetsets/com.sibvisions.rad.ui.vaadin.ext.ui.Widgetset/</span><br />
<span class="sc2"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; com.sibvisions.rad.ui.vaadin.ext.ui.Widgetset.nocache.js?05202015200542&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span><br />
&nbsp; <br />
&nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a> scroll<span class="sy0">=</span><span class="st0">&quot;auto&quot;</span>&gt;</span><br />
&nbsp; <br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;content&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;./VAADIN/vaadinPush.js?v=7.4.5&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;./VAADIN/vaadinBootstrap.js?v=7.4.5&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span></p>
<p>&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;MyEmbeddedUI&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;v-app&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;v-app-loading&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/noscript.html"><span class="kw2">noscript</span></a>&gt;</span>You have to enable javascript in your browser to use an application <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; built with Vaadin.<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/noscript.html"><span class="kw2">noscript</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span>&gt;</span></p>
<p>&nbsp; &nbsp; &nbsp; if (!window.vaadin)<br />
&nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; alert(&quot;Failed to load the bootstrap javascript: <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;./VAADIN/vaadinBootstrap.js?v=7.4.5&quot;);<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; vaadin.initApplication(&quot;MyEmbeddedUI&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{&quot;browserDetailsUrl&quot;: &quot;ui/&quot; + appname + params,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;serviceUrl&quot;: &quot;ui/&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;theme&quot;:&quot;jvx&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;versionInfo&quot;:{&quot;vaadinVersion&quot;:&quot;7.4.5&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;atmosphereVersion&quot;:&quot;2.2.4.vaadin5&quot;},<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;widgetset&quot;:&quot;com.sibvisions.rad.ui.vaadin.ext.ui.Widgetset&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;comErrMsg&quot;:{&quot;caption&quot;:&quot;Communication problem&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;message&quot;:&quot;Take note of any unsaved data, <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and <span class="sc2">&lt;<a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span>click here<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span> or press ESC to <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue.&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;url&quot;:null},<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;authErrMsg&quot;:{&quot;caption&quot;:&quot;Authentication problem&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;message&quot;:&quot;Take note of any unsaved data, <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and <span class="sc2">&lt;<a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span>click here<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span> or press ESC to <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue.&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;url&quot;:null},<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;sessExpMsg&quot;:{&quot;caption&quot;:&quot;Session Expired&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;message&quot;:&quot;Take note of any unsaved data, <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and <span class="sc2">&lt;<a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span>click here<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/u.html"><span class="kw2">u</span></a>&gt;</span> or press ESC key <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; to continue.&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;url&quot;:null},<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;vaadinDir&quot;:&quot;./VAADIN/&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;standalone&quot;:false,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;debug&quot;:false,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;heartbeatInterval&quot;:300,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;comErrMsgDetails&quot;:true,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;authErrMsgDetails&quot;:true,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;sessExpMsgDetails&quot;:true});<br />
&nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span><br />
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span></div>
</div>
<p>And the rest of our <strong>web.xml</strong>:</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;servlet<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;servlet-name<span class="re2">&gt;</span></span></span>EmbeddedUI<span class="sc3"><span class="re1">&lt;/servlet-name<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;servlet-class<span class="re2">&gt;</span></span></span>com.sibvisions.rad.ui.vaadin.server.VaadinServlet<span class="sc3"><span class="re1">&lt;/servlet-class<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>UI<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>com.sibvisions.rad.ui.vaadin.impl.VaadinUI<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>widgetset<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>com.sibvisions.rad.ui.vaadin.ext.ui.Widgetset<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>main<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>com.sibvisions.apps.MyEmbeddedApplication<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>Launcher.uifactory<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>com.sibvisions.rad.ui.vaadin.impl.VaadinFactory<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;init-param<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-name<span class="re2">&gt;</span></span></span>pushmode<span class="sc3"><span class="re1">&lt;/param-name<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param-value<span class="re2">&gt;</span></span></span>automatic<span class="sc3"><span class="re1">&lt;/param-value<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/init-param<span class="re2">&gt;</span></span></span></p>
<p>&nbsp; <span class="sc3"><span class="re1">&lt;async-supported<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/async-supported<span class="re2">&gt;</span></span></span> &nbsp;<span class="sc3"><span class="re1">&lt;/servlet<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/servlet<span class="re2">&gt;</span></span></span></p>
<p><span class="sc3"><span class="re1">&lt;servlet-mapping<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;servlet-name<span class="re2">&gt;</span></span></span>EmbeddedUI<span class="sc3"><span class="re1">&lt;/servlet-name<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;url-pattern<span class="re2">&gt;</span></span></span>/*<span class="sc3"><span class="re1">&lt;/url-pattern<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/servlet-mapping<span class="re2">&gt;</span></span></span></div>
</div>
<p>The application was deployed in ROOT context of Tomcat8.</p>
<p>If you have a different context, simply change the URLs: <em>browserDetailsUrl</em>, <em>serviceUrl</em> and <em>vaadinDir</em> (see html page).</p>
<p>The CORS support is not available in our latest vaadinUI release (1.2), because its a very new feature. Simply use our <a href="https://dev.sibvisions.com/jvx.nightly/?download">nightly builds</a> for testing.</p>
<p>Happy embedding.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/06/02/jvx-vaadinui-and-cors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Coder</title>
		<link>https://blog.sibvisions.com/2015/05/11/application-coder/</link>
		<comments>https://blog.sibvisions.com/2015/05/11/application-coder/#comments</comments>
		<pubDate>Mon, 11 May 2015 08:00:09 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JDT]]></category>
		<category><![CDATA[jquery-ui]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[Vaadin]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4352</guid>
		<description><![CDATA[This article is about our new Research project: Application Coder.
The application is a very simple Java Code Editor. It shows a tree with Java files and has a Code Editor for modifying files. The code editor is the popular Ace Editor and we use Eclipse JDT for java compilation. The application was written as standard [...]]]></description>
			<content:encoded><![CDATA[<p>This article is about our new Research project: <strong>Application Coder</strong>.</p>
<p>The application is a very simple Java Code Editor. It shows a tree with Java files and has a Code Editor for modifying files. The code editor is the popular <a href="http://ace.c9.io/">Ace Editor</a> and we use <a href="https://eclipse.org/jdt/">Eclipse JDT</a> for java compilation. The application was written as standard <a href="http://sourceforge.net/projects/jvx/">JVx application</a> with vaadin UI.</p>
<p>We made tests as single-page vaadin application, embedded with iframes and embedded with div areas. All versions work without problems but the last one is preferred. If you <a href="https://vaadin.com/book/vaadin7/-/page/advanced.embedding.html">embedd a vaadin application</a> with divs, it's a little bit tricky because you have to configure the client-side on your own, but you get full access to the whole html page. This wouldn't be possible if you use an iframe because you can't access the main html page.</p>
<p>Some cool features of our editor are: <em>error annotations</em> and <em>error markers</em>. And the best feature is our <strong>LIVE Preview</strong> of code changes!</p>
<p><div id="attachment_4361" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/05/codererror.png" rel="lightbox[4352]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/05/codererror-300x244.png" alt="Annotations and marker" title="Annotations and marker" width="300" height="244" class="size-medium wp-image-4361" /></a><p class="wp-caption-text">Annotations and marker</p></div><br />
Watch this video:</p>
<p><center><div class="wp-caption aligncenter nomargin" style="width: 570px"><iframe width="560" height="315" src="https://www.youtube.com/embed/tcz8cl0Y7ns" frameborder="0" allowfullscreen></iframe><p class="wp-caption-text">Application coder</p></div><br />
</center>The application coder is not only a Java code editor, it was designed especially for JVx applications, because it groups client code and business logic. The preview also starts a JVx application and LIVE preview reloads the application.</p>
<p>Our coder application has a push mechanism and reloads every preview window automatically and immediate after compilation.</p>
<p>Above video shows multiple instances of our coder application, embedded in divs and it's possible to drag around and resize the applications (thanks to <a href="https://jqueryui.com/resizable/">jquery-ui</a>).</p>
<p>The application is a perfect showcase of JVx because it's not a database application as many other JVx applications. We've used vaadin, jquery-ui and vaadin-addons to create a great UX. JVx is technology independent and open for other technologies.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/05/11/application-coder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vaadin application frame design</title>
		<link>https://blog.sibvisions.com/2015/03/30/vaadin-application-frame-design/</link>
		<comments>https://blog.sibvisions.com/2015/03/30/vaadin-application-frame-design/#comments</comments>
		<pubDate>Mon, 30 Mar 2015 15:06:56 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Vaadin]]></category>
		<category><![CDATA[vaadinUI]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4040</guid>
		<description><![CDATA[Many of you probably know our application frame, for web applications: One application, different styles
We had a MDI variant for legacy applications with internal frames for screens. This is useful for applications with many screens and many records. The internal frames help to compare records from one screen with records from other screens.
For modern user [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you probably know our application frame, for web applications: <a href="http://blog.sibvisions.com/2014/09/17/one-application-different-styles/">One application, different styles</a></p>
<p>We had a MDI variant for legacy applications with internal frames for screens. This is useful for applications with many screens and many records. The internal frames help to compare records from one screen with records from other screens.</p>
<p>For modern user interfaces, we use the SDI option. It looks fresh and simple and is great for applications with a small number of screens, because a scrolling menu is not nice - sure it will scroll if needed.</p>
<p>But what about application with e.g. 60 screens. Is MDI the only option? Yes and No, because we didn't have a variant for that kind of applications.... but now we have.</p>
<p>It's a mix of MDI and SDI, with a little bit CI:</p>
<div id="attachment_4043" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/03/appframe_v7_4_2.png" rel="lightbox[4040]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/03/appframe_v7_4_2-300x231.png" alt="Application frame SDI with menu" title="appframe_v7_4_2" width="300" height="231" class="size-medium wp-image-4043" /></a><p class="wp-caption-text">Application frame SDI with menu</p></div>
<p>The application frame is still the same as before, but with a different option. The name of the option is corporation, because the UI is meant for applications with many screens. It's still SDI with modal popups, because it shouldn't be too legacy!</p>
<p>Oh, do you see the small buttons on top/right? We use the FontAwesome feature of vaadin 7.2. We're already using vaadin 7.4.2 for our JVx vaadin UI!</p>
<p>We now have one application frame for many different application styles (I don't talk about visual attributes). The application frame is responsive and works well on mobile devices.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/03/30/vaadin-application-frame-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
