If you have a lot of work-screens in your application, it's not so easy to find the right screen because VisionX didn't offer search functionality in its open-screen wizard. With upcoming releases, VisionX will have such search functionality:

Screen search
The search fields will be visible if you have more than 5 screens!
Another problem with screens is that you can't search for fields or don't see automatically hidden fields, like ID columns. We have another nice search feature for you:

It will be possible to show hidden fields and also the used column name of your database table. The column names are not visible by default, but will be after you've pressed More...
I'm very happy to announce that VisionX 2.0 is available. It's available as Trial version or Online via Cloud Login.
Use our registration form and request a trial license or request a Cloud Login.
If you have any questions, feel free to send us a message via Twitter (@sibvisions), leave a comment or send us an email.
With the next nightly build, you'll find a new cell editor in JVx. It's a technology independent implementation and it's more or less a mix between choice cell editor and linked cell editor.
A choice cell editor shows images for defined values, e.g Checkboxes instead of Y, N. You can bind a choice cell editor to one column.
A linked cell editor is more or less a combobox that shows a table with one or more columns. You can bind a linked cell editor to one column and it can set multiple columns on value selection.
The new enum cell editor has the advantages of both editors. It shows a list of values instead of the real value, e.g. Yes, No instead of Y, N. You can bind an enum cell editor to one column and it sets exactly one column.
A short example:
UIEnumCellEditor ced
= new UIEnumCellEditor
();
ced.
setAllowedValues(new String[] {"Y",
"N"});
ced.
setDisplayValues(new String[] {"Yes",
"No"});
book.getRowDefinition().getColumnDefinition("CHOICE").getDataType().setCellEditor(ced);
VisionX 2.0 is ready!
We're happy to announce that VisionX 2.0 will be available in the next days. Our last tests were successful and everything is green 
The new VisionX is so amazing. It bundles all our open source frameworks in one tool and shows how application development should be - Fast and simple.
You've never created a multi platform application as fast as with VisionX.
VisionX 2.0 is more than just another RAD tool. It bridges the gap between end users and developers. If you're not a software developer, use VisionX like Excel and if you are a software developer, just use VisionX for all the boring stuff like UI design, Documentation, Help creation, Database design, Project setup, ...
Don't waste valuable time - simply use VisionX.
What's new in VisionX 2.0?
We have an uncountable number of new features, but some are
- Your applications will run in modern browsers - with Html5
- Excel reporting
- XML reporting
- Import your reports (offline data capturing)
- Use your application on mobile devices
- Use your application as Liferay portlets
- Live Preview of your applications as Liferay portlets
- Live Preview as Html5 application and on mobile devices
- Create your own VisionX AddOns
- Integrate Custom controls
- More actions
- Developer documentation
- Form validation support
- Tree support
- Integrate any Vaadin AddOn
- New data wizard with simple and advanced mode
- SOAP interface for importing reports
- Mobile API, Designer API
- Seamless Eclipse IDE integration for your applications
- PostgreSQL as database system
- Integrated pgAdmin
- Application template support
- Screen templates
- Support for the new Security mechanism of Java applications
- Your applications will be based on Open Source Software
The list is not complete because we have about 500 Tickets in VisionX 2.0.
More information will follow in the next weeks.
Do you use a Vaadin application as portlet with e.g. Liferay and does your application create generic downloads (e.g. reports)?
If you want to download generic/dynamically created files from a portlet, you don't have too many options. You could use the FileDownloader extension or you could open a new window with the file resource. But both options are not perfect. The FileDownloader has to be connected to a clickable component e.g. a button and the new window won't be closed automatically (browser dependent). The FileDownloader is a good solution (see recommendations) but it triggers the download from the browser via user interaction. If you have dynamic UIs or if you can't use a FileDownloader because you need a more generic solution, then you could have a problem?
Our JVx Vaadin UI implementation is very dynamic and a developer doesn't use native vaadin components (until he needs to do). The FileDownloader didn't work for us because of UI abstraction. But we have a solution that might help you as well. Its comparable to FileDownloader but it's not user driven.
Simply use our extension with your UI:
//only once in init
DownloaderExtension downloader
= new DownloaderExtension
();
downloader.
extend(this);
//start the download
downloader.setDownloadResource(resource);
The extension is not limited to UI but one Downloader per application is enough.
The source code is available in our repository.
VisionX 2.0 will have another great new feature. It's fast user switching.
An application created with VisionX is always a multi-user application. It has roles and roles can be assigned to users. You can take care of users and roles in work screens, e.g. set filter conditions or hide components depending of the user or role.
To test your screens with different users, you had to logout and login manually. This was cumbersone and not productive. With VisionX 2.0 it'll be possible to switch the user with two mouse clicks:

Switch user
It's the next step to enhance productivity.
First of all, a big welcome for our new JVx commiters Robert and Thomas 
Both have successfully solved their first tickets and are now part of the community.
Two of their tickets were number 1 and 2 and they were special because they were created in October 2009.
The other curious thing is that the last created JVx ticket had number 999 and the next ticket will be #1000 
This is a coincidence.
We are looking forward to the next 1000 Tickets.
It's great to have you in the community!
Hello everybody. 1st April is over and no worries, we won't stop JVx
Today is a great day because I'm very happy to announce JVx - version 2.0.
It's an awesome release because JVx 2 contains so many new productivity features. It's still a small codebase and the quality is very high. We made a big step forward and want to show you some details.
First of all, the LoC analysis. Here are some very interesting numbers for you:
|
JVx library |
|
Swing UI |
|
LoC |
|
Type |
63.447 |
|
Code |
54.335 |
|
Comments (~ 46% of Code) |
16.823 |
|
Empty lines |
134.605 |
|
Total |
|
|
LoC |
|
Type |
32.410 |
|
Code |
18.285 |
|
Comments (~ 36% of Code) |
7.271 |
|
Empty lines |
57.966 |
|
Total |
|
|
JVx library (Test cases) |
|
|
|
LoC |
|
Type |
16.650 |
|
Code |
8.946 |
|
Comments (~ 34% of Code) |
5.849 |
|
Empty lines |
27.052 |
|
Total |
|
|
|
|
This time, we broke the mark of 100.000 LoC (112.507). We thought it would be possible with 1.0 but now it happened! Our code is still well documented with about 42% of the LoC.
Some additional numbers:
|
Files and Tests |
|
JVx library source files |
|
501 |
Swing UI source files |
|
132 |
Test source files |
|
109 |
Total |
|
742 |
|
|
Still a small codebase and still very easy to maintain. |
|
Unit tests (no UI, without manual perf. tests)
| |
|
592 |
Class coverage (without UI)
| |
|
78% |
Method coverage (without UI)
| |
|
66% |
|
|
TOP 10 classes
Classname |
|
LoC |
MemDataBook |
|
3.399 |
DBAccess |
|
3.070 |
JVxTable |
|
2.448 |
ArrayUtil |
|
2.000 |
StringUtil |
|
1.477 |
DBStorage |
|
1.290 |
FileUtil |
|
1.277 |
JVxFormLayout |
|
1.178 |
XmlNode |
|
1.054 |
SwingApplet |
|
1.053 |
This is amazing because we have so many features and so less code. I think our quality standards have been met!
And last but not least, a short overview of new features:
- New metadata cache
The caching mechanism is now a real killer feature. No ORM library or any other DB API has a similar technique. JVx is unique in this area. What we do? We reduce database calls and requests. We have different cache levels like Global, per Session or per Connection. The cache is a learning cache and your application will be super fast in production mode.
- Improved Constraints check
Our linked cell editors (comboboxes, drop-downs) now shows columns from tables referenced via Foreign keys. Now the master table shows columns from tables referenced with Foreign keys. And also the resulting comboboxes show columns from referenced tables. If you have a clean database model, simple use your master table and the GUI is ready. If your database model isn't as clean as it could be, simply define your references with our APIs.
- Cache mode for Security Managers
Before JVx 2, a security manager was cached globally per application. Every session was checked with the same security manager. With JVx 2.0 it's possible to have a security manager per client. Every client could have its own security manager instance.
- Focus listener support
This is not rocket-science but important for all kind of UIs. Now JVx has support for it.
- IController and IControllable
This is completely new because it allows data navigation with centralized controls. Read more.
- NO more session blocking
Before JVx 2 the server implementation blocked simultanuous calls via DefaultObjectProvider. This wasn't a real problem for Desktop applications and with few users but it was in Web environments - especially with our Vaadin UI - or with e.g 500 users. This blocking is gone.
- Session isolation
Usually, a session has a specific Life-cycle object with business objects and actions. Such Life-cycle objects have direct access to the MasterSession of an application for convenience. If you want Life-cycle objects without access to the MasterSession this is the right feature for you.
- New layout: UIGridLayout
The layout is row/column oriented like good old AWT GridLayout.
- Super-lazy-loading
If you use down and up keys to navigate in tables with details, you'll be surprised. The standard lazy-loading mechanism loads data in blocks and on-demand. If you had master/detail relations in your screens this wasn't enough because every master record change did load the detail records. With JVx 2. this will happen if you release the down or up key. This is a nice productivity feature.
- CheckBox CellEditor
We now support "real" Checkboxes as cell editor. Our choice cell editor is image based and it doesn't support LaFs. Of course, with the right images it might look like a native Checkbox. Now you can use native Checkboxes. We recommend the choice cell editor for columns with multiple possible values, e.g. Yes, No, null. The Checkbox only has two states Yes or No.
- MetaData customization
With JVx 2.0 it's possible to set/change MetaData per Storage, e.g. add a Primary Key.
The list is not complete but shows biggest changes and all details are available in the Changelog.
Please download JVx 2 and send us your Feedback.
 |
|
Our application is available in the AppStore for your iOS devices.
It's an open source application. The whole source code is available on SorceForge. The application itself is a client application for JVx applications. Its your custom ERP in the pocket.
Simply manage your customer records, wherever you are. Use one client for all your JVx applications. If you are VisionX user, it's very easy to customize your applications for your mobile device because VisionX has built-in support for it.
|
The Preview app has one limitation: It only shows one screen.
We'll release a version without this limitation a little bit later.
The Preview client should be the first choice for VisionX users because it's free. If you need full functionality, we'll offer a client without limitations and customized to your needs.
Today we've some great news for you!
Our upcoming Release of VisionX will support jar signing.
 Global keys |
|
 App keys |
Jar signing?
This is a long story, but in short: Since latest JDK 1.7 releases, Oracle introduced a new "security feature". The new feature is available via Java ControlPanel, Security tab. There are different security options like Medium, High, Very high. If you're using default setting (high) it's not possible to start Applets in your Web browser or JNLP applications via Webstart. If you change the default setting to medium, it'll be possible to start applets and JNLP applications but a big warning dialog will appear. This dialog contains a lot of security information and bold red letters. Red is always a bad color for users, because it stands for danger.
This new security feature made it impossible to use VisionX' (Java in Broser) live application preview, because no one changed the default security.
We tried to find some workarounds but didn't find a real solution. The best choice was jar signing support directly via VisionX, but end-user capable.
The bad news: It was hard work
The good news: It's working!
VisionX will contain a self-signed Java certificate per default. No worries, you can add your custom/official certificates!
The default certificate is only for application tests and should never be used for productive applications.

Sign information
It won't be possible to use Applets or JNLP Webstart applications with current and upcoming JREs without signing. So the only chance for VisionX was a self-singed certificate.