<?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; Uncategorized</title>
	<atom:link href="http://blog.sibvisions.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Mon, 30 Mar 2026 11:14:36 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JVx 2.8.5 - Statistics</title>
		<link>https://blog.sibvisions.com/2022/02/18/jvx-2-8-5-statistics/</link>
		<comments>https://blog.sibvisions.com/2022/02/18/jvx-2-8-5-statistics/#comments</comments>
		<pubDate>Fri, 18 Feb 2022 09:11:51 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Release notes]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=8566</guid>
		<description><![CDATA[JVx 2.8.5 is out and we have some Source Code statistics for you!
Our last statistics were determined for JVx 2.2. The source code grew by 50.012 lines, since 2.2. We now have 178.896 (JVx library, Swing UI, tests) compared to 128.884 in JVx 2.2. Still awesome if we compare the features of JVx with any [...]]]></description>
			<content:encoded><![CDATA[<p><strong>JVx 2.8.5</strong> is out and we have some Source Code statistics for you!</p>
<p><a href="https://blog.sibvisions.com/2015/03/15/jvx-2-2/">Our last statistics</a> were determined for JVx 2.2. The source code grew by 50.012 lines, since 2.2. We now have 178.896 (JVx library, Swing UI, tests) compared to 128.884 in JVx 2.2. Still awesome if we compare the features of JVx with any other application framework!</p>
<p>Here are the actual numbers for you:</p>
<table>
<tr>
<td colspan="3" style="height: 10px"></td>
</tr>
<tr>
<td><strong>JVx library</strong></td>
<td style="width: 50px">&nbsp;</td>
<td><strong>Swing UI</strong></td>
</tr>
<tr>
<td colspan="3" style="height: 5px"></td>
</tr>
<tr>
<td>
<table cellpadding="2px" cellspacing="0">
<tr>
<td align="right"><strong>LoC</strong></td>
<td>&nbsp;</td>
<td><strong>Type</strong></td>
</tr>
<tr>
<td align="right"><strong>107.951</strong></strong></td>
<td>&nbsp;</td>
<td>Code</td>
</tr>
<tr>
<td align="right">86.032</td>
<td>&nbsp;</td>
<td>Comments (~ 44% of Code)</td>
</tr>
<tr>
<td align="right">28.282</td>
<td>&nbsp;</td>
<td>Empty lines</td>
</tr>
<tr>
<td align="right" style="border-top: 1px solid">222.265</td>
<td style="border-top: 1px solid">&nbsp;</td>
<td style="border-top: 1px solid">Total</td>
</tr>
</table>
</td>
<td></td>
<td>
<table cellpadding="2px" cellspacing="0">
<tr>
<td align="right"><strong>LoC</strong></td>
<td>&nbsp;</td>
<td><strong>Type</strong></td>
</tr>
<tr>
<td align="right"><strong>41.544</strong></strong></td>
<td>&nbsp;</td>
<td>Code</td>
</tr>
<tr>
<td align="right">22.321</td>
<td>&nbsp;</td>
<td>Comments (~ 35% of Code)</td>
</tr>
<tr>
<td align="right">9.249</td>
<td>&nbsp;</td>
<td>Empty lines</td>
</tr>
<tr>
<td align="right" style="border-top: 1px solid">73.114</td>
<td style="border-top: 1px solid">&nbsp;</td>
<td style="border-top: 1px solid">Total</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3" style="height: 35px">&nbsp;</td>
</tr>
<tr>
<td><strong>JVx library (Test cases)</strong></td>
<td style="width: 50px">&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan="3" style="height: 5px"></td>
</tr>
<tr>
<td>
<table cellpadding="2px" cellspacing="0">
<tr>
<td align="right"><strong>LoC</strong></td>
<td>&nbsp;</td>
<td><strong>Type</strong></td>
</tr>
<tr>
<td align="right"><strong>29.401</strong></strong></td>
<td>&nbsp;</td>
<td>Code</td>
</tr>
<tr>
<td align="right">14.620</td>
<td>&nbsp;</td>
<td>Comments (~ 33% of Code)</td>
</tr>
<tr>
<td align="right">9.649</td>
<td>&nbsp;</td>
<td>Empty lines</td>
</tr>
<tr>
<td align="right" style="border-top: 1px solid">53.670</td>
<td style="border-top: 1px solid">&nbsp;</td>
<td style="border-top: 1px solid">Total</td>
</tr>
</table>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="3" style="height: 5px"></td>
</tr>
</table>
<p>Some additional numbers:</p>
<table>
<tr>
<td colspan="3" style="height: 10px"></td>
</tr>
<tr>
<td><strong>Files and Tests</strong></td>
</tr>
<tr>
<td colspan="3" style="height: 5px"></td>
</tr>
<tr>
<td>
<table cellpadding="2px" cellspacing="0">
<tr>
<td>JVx library source files</td>
<td>&nbsp;</td>
<td align="left"><strong>825</strong></strong></td>
</tr>
<tr>
<td>Swing UI source files</td>
<td>&nbsp;</td>
<td align="left"><strong>148</strong></strong></td>
</tr>
<tr>
<td>Test source files</td>
<td>&nbsp;</td>
<td align="left"><strong>151</strong></strong></td>
</tr>
<tr>
<td style="border-top: 1px solid">Total</td>
<td style="border-top: 1px solid">&nbsp;</td>
<td align="left" style="border-top: 1px solid">1124</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3" style="height: 10px"></td>
</tr>
<tr>
<td colspan="3">Still a small codebase <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  and still very easy to maintain. Here are more numbers, about testing:</td>
</tr>
<tr>
<td colspan="3" style="height: 5px">&nbsp;</td>
</tr>
<tr>
<td>
<table cellpadding="2px" cellspacing="0">
<tr>
<td>Unit tests (no UI, without manual perf. tests)
<td align="left"></td>
<td>&nbsp;</td>
<td><strong>1000</strong></strong></td>
</tr>
<tr>
<td>Class coverage (without UI)
<td align="left"></td>
<td>&nbsp;</td>
<td><strong>73%</strong></strong></td>
</tr>
<tr>
<td>Method coverage (without UI)
<td align="left"></td>
<td>&nbsp;</td>
<td><strong>62%</strong></strong></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3" style="height: 10px"></td>
</tr>
<tr>
<td colspan="3">Our coverage is not as good as with 2.2 but still not bad.</td>
</tr>
<tr>
<td colspan="3" style="height: 5px"></td>
</tr>
</table>
<p>TOP 10 classes</p>
<table>
<tr>
<td><strong>Classname</strong></td>
<td>&nbsp;</td>
<td><strong>LoC</strong></code></tr>
<tr>
<td>DBAccess</td>
<td></td>
<td>5.775</td>
</tr>
<tr>
<td>MemDataBook</td>
<td></td>
<td>4.712</td>
</tr>
<tr>
<td>JVxTable</td>
<td></td>
<td>2.704</td>
</tr>
<tr>
<td>ArrayUtil</td>
<td></td>
<td>2.613</td>
</tr>
<tr>
<td>DBStorage</td>
<td></td>
<td>2.237</td>
</tr>
<tr>
<td>StringUtil</td>
<td></td>
<td>2.230</td>
</tr>
<tr>
<td>Server</td>
<td></td>
<td>2.058</td>
</tr>
<tr>
<td>SimpleJavaSource</td>
<td></td>
<td>1.583</td>
</tr>
<tr>
<td>PostgreSQLDBAccess</td>
<td></td>
<td>1.495</td>
</tr>
<tr>
<td>DateUtil</td>
<td></td>
<td>1.468</td>
</tr>
</table>
<p>This are interesting numbers because in JVx 2.2, <strong>MemDataBook</strong> was on 1st place. We now have more code for database support than before. The newcomers are <strong>SimpleJavaSource</strong> and <strong>PostgreSQLDBAccess</strong>.</p>
<p>We tried to reduce complexity of DBAccess and MemDataBook, but complex things are complex. This is why we develop JVx. It makes complex things, simple.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2022/02/18/jvx-2-8-5-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisionX 2.4 is here</title>
		<link>https://blog.sibvisions.com/2016/12/09/visionx-2-4-is-here/</link>
		<comments>https://blog.sibvisions.com/2016/12/09/visionx-2-4-is-here/#comments</comments>
		<pubDate>Fri, 09 Dec 2016 22:30:57 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Release notes]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[VisionX]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=6049</guid>
		<description><![CDATA[VisionX 2.4 was released yesterday! It's the biggest update since 1.5. We've spent more time for developing and testing than ever before. The new version has power under the hood. It contains everything which is needed to customize VisionX for your needs. It's possible to create your own VisionX. We have a great set of [...]]]></description>
			<content:encoded><![CDATA[<p>VisionX 2.4 was released yesterday! It's the biggest update since 1.5. We've spent more time for developing and testing than ever before. The new version has power under the hood. It contains everything which is needed to customize VisionX for your needs. It's possible to create <strong>your own VisionX</strong>. We have a great set of AddOns which will improve the quality of your applications and some very useful new Features.</p>
<p><strong>What's new?</strong></p>
<ul>
<li><strong>HTML5 Live Reload</strong>
<p>It's now possible to update the application in the browser automatically after design changes. The live preview wizard got a new option for this feature:</p>
<div id="attachment_6050" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_livereload.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_livereload-300x225.png" alt="Live reload option" title="vx_livereload" width="300" height="225" class="size-medium wp-image-6050" /></a><p class="wp-caption-text">Live reload option</p></div>
</li>
<li><strong>One-click HTML5 live preview</strong>
<p>The application menu got a new icon. A single click is enough to show the application in the web browser.</p>
<p><div id="attachment_6052" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_one-click-preview.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_one-click-preview-300x64.png" alt="One-click live preview" title="vx_one-click-preview" width="300" height="64" class="size-medium wp-image-6052" /></a><p class="wp-caption-text">One-click live preview</p></div>
</li>
<li><strong>VisionX Menu</strong>
<p>The VisionX menu in the application has two new items:</p>
<p><div id="attachment_6054" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_menu.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/12/vx_menu-300x87.png" alt="VisionX application menu" title="vx_menu" width="300" height="87" class="size-medium wp-image-6054" /></a><p class="wp-caption-text">VisionX application menu</p></div>
<p>The modules screen is a complete new feature and the Live preview is now available without leaving the application.</li>
<li><strong>Module management</strong>
<p>It's now possible to manage application modules. Simply install a module from the solution store or create your own re-usable application modules. The installation is super easy with our new modules screen:</p>
<div id="attachment_5943" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_modules.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_modules-300x165.png" alt="Super easy module installation" title="vx_modules" width="300" height="165" class="size-medium wp-image-5943" /></a><p class="wp-caption-text">Super easy module installation</p></div>
</li>
<li><strong>Data Links</strong>
<p>The Designer got a new group with the name Data Links:</p>
<p><div id="attachment_5945" class="wp-caption aligncenter" style="width: 174px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_datalinks.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_datalinks.png" alt="Data Links" title="vx_datalinks" width="164" height="194" class="size-full wp-image-5945" /></a><p class="wp-caption-text">Data Links</p></div>
<p>All elements in the Data Links group depend on data and will update the shown value automatically on data changes.</p>
<ul>
<li>The Label Control will show the current value of a specific column, as Label instead of an Editor.</li>
<li>The Selection Button will show a popup with possible values for a specific column.</li>
<li>The Filter Control requires the Profiles AddOn and allows an application user to apply and save custom filter settings, e.g. filter custom columns</li>
</li>
</ul>
<li>Application frame automatically saves the last position and your application will be shown at the same position after a restart.
<p>The Profiles AddOn makes it possible to save also the frames within the application. Your users will love it because they can save their own desktop and continue the work after an application start.</li>
<li><strong>Remove HTML5</strong>
<p>It's possible to create smaller application bundles if you remove the HTML5 feature from the bundle, via Deployment Wizard:</p>
<p><div id="attachment_5941" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_nohtml5.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_nohtml5-300x233.png" alt="Remove HTML5" title="vx_nohtml5" width="300" height="233" class="size-medium wp-image-5941" /></a><p class="wp-caption-text">Remove HTML5</p></div></li>
<li><strong>Customize screen generators</strong>
<p>It's super easy to use your own screen generators:</p>
<p><div id="attachment_5951" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_customgenerator.png" rel="lightbox[6049]"><img src="https://blog.sibvisions.com/wp-content/uploads/2016/11/vx_customgenerator-300x197.png" alt="Custom screen generators" title="vx_customgenerator" width="300" height="197" class="size-medium wp-image-5951" /></a><p class="wp-caption-text">Custom screen generators</p></div></li>
<li><strong>Multiple storages with same database table</strong>
<p>It's now possible to add multiple storages for the same database table. This was a limitation in earlier versions of VisionX.</li>
</ul>
<p>All customers will find the new version in their download area!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2016/12/09/visionx-2-4-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A DropboxStorage as X-mas present</title>
		<link>https://blog.sibvisions.com/2014/12/24/dropboxstorage/</link>
		<comments>https://blog.sibvisions.com/2014/12/24/dropboxstorage/#comments</comments>
		<pubDate>Wed, 24 Dec 2014 13:16:59 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=3469</guid>
		<description><![CDATA[Merry X-mas  
We have a little present for you. It's a connector for Dropbox.
The source code is available here.
It's a full IStorage implementation and allows CRUD operations to your Dropbox account. We use it for sharing dynamicly created reports and as document archive. It's very useful because your application doesn't need a mobile client [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Merry X-mas</strong> <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We have a little present for you. It's a connector for <a href="http://www.dropbox.com/">Dropbox</a>.</p>
<p>The source code is available <a href="https://github.com/rjahn/DropboxStorage">here</a>.</p>
<p>It's a full IStorage implementation and allows CRUD operations to your Dropbox account. We use it for sharing dynamicly created reports and as document archive. It's very useful because your application doesn't need a mobile client to exchange data with the backend.</p>
<p>If your secretary creates the management report (Word, Excel or Pdf), simply modify or read it via Dropbox. It's really simple because Word and Excel are available for mobile devices. Both tools have a built-in Dropbox support and thus makes it easy to access files.</p>
<p><strong>How to use the storage?</strong></p>
<p>Currently, we don't have a pre-compiled lib, but simply clone the repository and use the ANT build to create your own lib.</p>
<p>It's simple to integrate the storage in your application:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">public</span> DropboxStorage getFiles<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">throws</span> <span class="kw3">Exception</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; DropboxStorage storage <span class="sy0">=</span> <span class="br0">&#40;</span>DropboxStorage<span class="br0">&#41;</span>get<span class="br0">&#40;</span><span class="st0">&quot;files&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>storage <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; storage <span class="sy0">=</span> <span class="kw1">new</span> DropboxStorage<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; storage.<span class="me1">setAccessToken</span><span class="br0">&#40;</span>SessionContext.<span class="me1">getCurrentSessionConfig</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="me1">getProperty</span><span class="br0">&#40;</span><span class="st0">&quot;/application/dropbox/accessToken&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; storage.<span class="me1">setFileType</span><span class="br0">&#40;</span>FileType.<span class="me1">All</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//use &quot;flat&quot; style</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; storage.<span class="me1">setRecursive</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; storage.<span class="me1">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; put<span class="br0">&#40;</span><span class="st0">&quot;files&quot;</span>, storage<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">return</span> storage<span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Before the storage will work, prepare your dropbox account to get an access token. It's not tricky and everything is <a href="https://www.dropbox.com/developers/core/start/java">documented</a>.</p>
<p>There are some examples available as <a href="https://github.com/rjahn/DropboxStorage/blob/master/test/com/sibvisions/apps/persist/TestDropboxStorage.java">JUnit tests</a>.</p>
<p>A <strong>simple Dropbox screen</strong> could look like this one:</p>
<div id="attachment_3479" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2014/12/JVx_dropbox.png" rel="lightbox[3469]"><img src="http://blog.sibvisions.com/wp-content/uploads/2014/12/JVx_dropbox-300x193.png" alt="Dropbox access with JVx" title="JVx_dropbox" width="300" height="193" class="size-medium wp-image-3479" /></a><p class="wp-caption-text">Dropbox access with JVx</p></div>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2014/12/24/dropboxstorage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jim!</title>
		<link>https://blog.sibvisions.com/2011/04/05/jim/</link>
		<comments>https://blog.sibvisions.com/2011/04/05/jim/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 08:36:54 +0000</pubDate>
		<dc:creator>mhandsteiner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=878</guid>
		<description><![CDATA[Auch auf einem Entwicklungsrechner gehen irgendwann die Ressourcen zu Ende. Einem aufmerksamen Browser wie Chrome, entgeht das natürlich nicht  
Die Entwickler dürften dabei sichtlich Spaß gehabt haben.
]]></description>
			<content:encoded><![CDATA[<p>Auch auf einem Entwicklungsrechner gehen irgendwann die Ressourcen zu Ende. Einem aufmerksamen Browser wie Chrome, entgeht das natürlich nicht <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Die Entwickler dürften dabei sichtlich Spaß gehabt haben.</p>
<div id="attachment_879" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2011/04/chrome_info.jpg" rel="lightbox[878]"><img src="http://blog.sibvisions.com/wp-content/uploads/2011/04/chrome_info-300x241.jpg" alt="Chrome fun" title="Chrome" width="300" height="241" class="size-medium wp-image-879" /></a><p class="wp-caption-text">Chrome fun</p></div>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2011/04/05/jim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
