This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

VisionX 1.1.1 is released

We released VisionX 1.1.1 as little Thank you to our customers. Thanks for the great Feedback and for all the compliments!

The new release contains many improvements and solves some ugly problems.

The details

  • Application reload in Browsers

    It is not necessary to clear the Java or Browser cache. The application now reloads automatically.

  • Data export

    The simple export of records now creates valid CSV files. Simply open it with Excel or other Office suites.

  • Install the database without freeze

    VisionX had a problem with opened database connections, because the installation waits until all resources are freed. In the current release, VisionX closes all opened connections during installation. The database installation now runs smoothly.

  • Translation update

    We updated the English translation.

  • Tomcat Settings

    If you reused a Tomcat setting, the port is set to 80. Now the stored port is used.

  • User Management

    Now it is possible to customize the User Management screen.

  • Form screen validation

    If you close a form screen but not all required fields are filled, you get only one information dialog.

  • Default table sort

    If you sort a table with different columns and different sort orders, it is saved now.

  • Edit data table

    We found a potential freeze during screen update and changed the display of the data type.

  • Action editor

    A value change command does not create a new insert command anymore.

Have fun with this fantastic release.

JVx 1.1 beta1 is available

It is available from the project page.

What's different?

This beta release is an update release and contains not a lot of new features.

  • CSV Export uses client locale

    Before 1.1, we used a semicolon ";" as separator. Now we use a locale specific separator. This solves country specific data export problems.

  • Modal Internal Frames on MacOSX

    We solved the problem with resizable modal internal frames on MacOSX. Now the resizebox is always visible.

  • UITable readonly

    Now it is possible to set an UITable readonly independent of the IDataBook.

  • API changes

    We reverted the API change, made in JVx 1.0, because the implementation was not very clever. Now it is possible to extend the DBStorage and have full database independent support. In JVx 1.0 you had to extend the default DBStorage and the specific MySqlDBStorage and the specific PostgreSqlDBStorage.... was not very developer friendly. With JVx 1.1 you have the same features but without development overhead.

    Old:

    DBStorage dbs = getDBAccess().createStorage();
    dbs.open();

    New:

    DBStorage dbs = new DBStorage();
    dbs.setDBAccess(getDBAccess());
    dbs.open();

Check the Changelog for a complete list, and use our Forum to talk with us ;-)

Swing RETRO application - MP3Tool - update

In the Swing RETRO application article, I wrote about my personal MP3Tool. When the tool was developed, the ID3v2 Tag was not very important and the cover image was not relevant. Now, every modern mp3 file has a cover or front or band image. The problem is that the "original" MP3Tool does not support images.

Because it is important for me, to change files with covers too, I decided to implement a simple image support. And during my research I found other features that are often used: Lyrics Tag and APE Tag. I have never heard about them. So I decided to implement at least delete support, for those Tags.

After some hours, the implementation was done. I was positive surprised about the source code quality, because the code is really old. It was amazing good.

The update version is available here and the version is now 2.2.

Cover images

The tool is not a SIB Visions Tool.

Popularity of Single Sourcing solutions

Single Sourcing - what?

The Problem:
You develop an application for a customer that should run on Desktop, Notebook, Netbook, Smartphone and Tablet. You have to support different platforms, different screen sizes (resolutions), different network speeds.

The solution:
You need a technology that allows you to develop the application once and execute it on any device without changes to the application / source code.

Actual state
You develop the application multiple times, optimized for the target device. Of course you use the same business logic/middle-tier. Or you develop a web application (ajax, html) and distribute it without app stores, but have not the same usability as native apps.

There are many projects that offer multi-device support, e.g. PhoneGap, Appcelerator, Eclipse RAP, Adobe Flex

But did you know that JVx has Single Sourcing since 2008 - the time as single sourcing was not so popular.
The difference between JVx and all other technologies is, that JVx is a full-stack application framework. It has all components that are needed to develop data-driven applications. It is not just a development platform as all others.

If you are software developer and create database applications that should run as RIA or as html/ajax application - JVx is your friend. If you are not a software developer - VisionX is the right tool for you!

No other tool is faster for database-application development!

VisionX 1.1 - What's new?

The first update-release of VisionX is out. But it is more than an update - it's a tool for the gods.

VisionX 1.1 contains about 90 Tickets, a brand new JVx release and the best UI designer ever, for End-Users and/or Software developers.

Other companies talk about Software Development in the cloud or really cool Rapid Application Development tools. Everything sounds very technical and is only for specialists. But where is the innovation?
It makes no difference where we develop software (local or remote) - it is still software development. If you are a developer... no problem. If you are interested but have no technical education... damn.

Are development tools as easy as modern Office suites? No way.

Wouldn't it be great to create handmade software without software development knowledge?
Don't think how. Think what. If you have an idea for an application, simply create it with VisionX.

Curious?

New in VisionX 1.1

  • 1-2-3 Reports

    Create a report in 3 steps. First - create a template, Second - Use your preferred Office solution (MS-Office, LibreOffice, ...) to customize the template, Third - Open the report in your application

    It is so easy to create a report and it is even easier to see your records in the report. VisionX fills your reports with filtered records, sorted or not, all available records or with master/detail related records.

    The current release handles filtered and sorted records automatically. A very important feature compared to 1.0.

    What You See Is What You Get.

  • Applications everywhere

    Install your application in your private network, a public cloud or use it only on your desktop. Use commercial or open source database products. Switch between databases or use all of them together. You can decide for yourself. Sounds too complicated?
    You are right, and many software developers have the same thoughts!
    With VisionX, your application is installed with 3 mouse clicks and we do the tricky stuff for you!

    Now you can decide what you want to install: only Application, only Database or both together.

  • Multi-User Spreadsheets

    Give VisionX your Spreadsheet and you get a Multi-User Online Application with access control for your records. Decide, who can see what.

    Now we have better support for different timestamp formats and a very intelligent delimiter detection. Don't waste time with the configuration, it just works.

  • Standardized Specifications

    VisionX creates specifications, that describes your application. It contains Screenshots of your current screens, describes all visible fields and gives you an overview of used actions.

    In the new release, we give you more details about fields, e.g. the possible values of choice boxes, the precision and scale of numbers, the field type (text, number, date, time, ...).

  • Legacy databases

    If you have old database applications and you need a modern frontend, use VisionX to create it. Simply connect to the database and create management screens with some mouse clicks. If you are not happy with the standard layout - change it until it fits your need.

  • Manage your datasources

    The new release comes with management screens for your existing datasources. Now it is very simple to change your administrative datasources or create new user-defined datasources.

  • Design-Runtime

    If an exception occurs in your application, switch to design mode with only one click. VisionX now saves even more time.

  • Copy screens, Copy elements

    If you need a screen copy - Create it per Drag and Drop. The keyword is <CTRL>. Press <CTRL> while you drag an element and you automatically create a copy when you drop it. Have you ever seen a visual designer that supports this?

Start today with your handmade applications. You just need an idea!

PDF change metadata

Sometimes it is useful to change PDF Metadata.
The following code snipped is based on Add an image to an existing PDF

HashMap<String, String> hmpInfo = new HashMap<String, String>();
hmpInfo.put("Title", "CV");
hmpInfo.put("Author", "rjahn");

PdfDictionary dictTrailer = pdr.getTrailer();

if (dictTrailer != null && dictTrailer.isDictionary())
{
        PdfObject objInfo = PdfReader.getPdfObject(dictTrailer.get(PdfName.INFO));
       
        if (objInfo != null && objInfo.isDictionary())
        {
                PdfDictionary infoDic = (PdfDictionary)objInfo;
               
                for (Map.Entry<String, String>entry : hmpInfo.entrySet())
                {
                        if (entry.getValue().length() == 0)
                        {
                                infoDic.remove(new PdfName(entry.getKey()));
                        }
                        else
                        {
                                infoDic.put(new PdfName(entry.getKey()),
                                 new PdfString(entry.getValue(), PdfObject.TEXT_UNICODE));
                        }
                }
        }
}

pdr.getCatalog().remove(PdfName.METADATA);

Add an image to an existing PDF

Do you know the problem: You got a PDF document and want to add an image to a single page, but you have no printer/scanner.

Normally jPdf Tweak solves simple PDF problems, but it is not possible to add a simple image to a PDF file :( . It supports watermarks, but it is not supported to set the position or page.

I wrote some lines of code to solve my problem:

PdfReader pdr = new PdfReader("D:\\test.pdf");

PdfStamper pds = new PdfStamper(pdr, new FileOutputStream("D:\\test_image.pdf"));

PdfContentByte pcbPosition;

PdfGState pgsTransparency;

Image img;

for (int i = 1, anz = pdr.getNumberOfPages(); i <= anz; i++)
{
        //only first page
        if (i == 1)
        {
                pcbPosition = pds.getOverContent(i);
   
                pgsTransparency = new PdfGState();
                pgsTransparency.setFillOpacity(100 / 100f);
               
                img = Image.getInstance(FileUtil.getContent("D:\\image.png"));
               
                //x: 0 = left
                //y: 0 = bottom
                img.setAbsolutePosition(500f, 250f);
                //70 is 100%
                img.scalePercent(10);
                img.setRotationDegrees(0);
               
                pcbPosition.saveState();

                pcbPosition.setGState(pgsTransparency);
                pcbPosition.addImage(img);
       
                pcbPosition.restoreState();
        }
}

pds.close();

Use the current iText version or iText 4.2.0 (friendly license).

Oracle Forms and JVx - simply great

Oracle Forms is a great technology/platform to write database applications (for Oracle DBs) - There is no doubt!

But nobody knows how long it will exist! Oracle tries to replace Forms with ADF and or APEX, since years. APEX has limited functionality, ADF is too complex and is very "special"!

Have you ever tried to migrate an Oracle Forms Application to Java or .NET? Good luck :)
There are several tools that allows "automatic migration". But this is not more than an attempt!
Simple and small Forms Applications are surely migrated to another technology, but what is with the more important - large - applications?

We are not magicians, but have a modern technolgogy which enables a gradual migration.

Why is Oracle Forms so successful?
It is simple and does its job. You create User Interfaces for your Oracle Database very fast and ready for production. With JVx we offer a framework that solves the same problems but it is UI and database independent, is 100% Java and is Open Source.

And more...
Use JVx in your Forms applications.

Every developer knows that it is not so easy to replace a full-blown application with another one. Would it be cool to use existing features and Oracle Forms User Interfaces and integrate/implement new features and User Interfaces with JVx. Of course it would be very cool, but you need exactly one application that is consistent and still "simply works"!

And after all your Forms features are migrated, simply use a JVx application without Forms. You have no effort to switch, because it does not matter whether JVx runs with or without Forms!

Are you curious?

I assure you that no other framework is better suited than JVx.

Why?

  • Re-use your existing database logic (triggers, packages, views, functions, procedures) without changes.

    It is possible but not necessary to move your business logic to the server tier (middleware). Of course, it is recommended, if you plan to replace your Oracle database with antother database system. To be honest... Oracle has a damn good RDBMS.

  • Why sould you create tons of source code and use ORMs if your data model is clean.

    I'm sure you want maintainable applications - as usual?

  • Money, money, money

    Use your preferred Open Source application server and don't pay expensive license fees.

  • And one of the most important things: You don't need a new development team.

    What happens if you decide to replace your Forms Application with ADF? Have your developers the needed skils?

Do you need an example?

Oracle Forms with JVx

Oracle Forms with JVx

The example uses JVx UI (layout, panel, table, button), the generic model, a remote connection and life-cycle objecs as usual. Not bad ;-)

And if you want to develop faster than ever before, use VisionX on top. You have never used a better Application development tool!

Application development without restarts

Some months ago, I read an interesting article about Javeleon. I thought it would be very useful for JVx developers because it is possible to start an application, modify screens and lifecycle objects and use the new instances live in the application without restarting it. It could save a lot of development time. Use the JRebel ROI calculator to see what you can save - It is amazing.

The integration of Javeleon in the JVx development process is very simple. Go to the Javeleon Download Page and download the standalone version 1.5 or 2.0 beta. It is not necessary to add javeleon.jar to the classpath of your application. If you use Eclipse, open the Run configuration dialog and add the following VM arguments:

-Djava.io.tmpdir=D:\temp\java
-Xbootclasspath/p:"D:\temp\java\JaveleonBoot\default"
-javaagent:D:\libs\javeleon\javeleon.jar=nbjdk=default;profile=java

If you use version 1.5 and version 2.0 for your tests, be sure that you delete the D:\temp\java\JaveleonBoot directory. Otherwise you get JVM startup Exceptions.

After the first start, watch the Java Console view because Javeleon is disabled until you request and download a license. Don't be affraid because the license is used to keep track of how many users Javeleon has. Details about the license are available here. With a valid license, it is possible to start development.

If everything is setup correctly, start your application and open a work-screen. Go back to Eclipse and modify the source-code of your work-screen, e.g. change the Layout, change the text of a Label or change some properties of a DBStorage. Be sure that your source is compiled (should be the default Eclipse setting) before you go back to your application. To see the changes in your application, simply close and open the modified work-screen.
You save the time to restart your application and perform a login. The MetaData cache also saves some seconds.

One negative point is that you need JVx as project dependency instead of the jar version.

Update

It is possible to use Javeleon without JVx project dependency. Simply unzip jvx.jar and add the created folder (class folder) to your classpath. It is not possible to compile JVx!

Update [2]

With the current Javeleon beta release of today (Jan. 17) - version 2.0.3 - it is possible to use jar files too. Now the integration of Javeleon works perfect.

Thanks to Allan Gregersen and the Javeleon Team for the support.

Quick edit in tables

Since JVx 1.0 we introduced the new quick edit feature for link cell and date cell editors in tables. We wrote about the new link cell editor representation some weeks ago.

It is great to see an arrow in the cell, because you know that the cell has an advanced editor. But if you seen an arrow, you try to click on it and expect that something happens! Before we introduced quick edit in tables, you had to perform a double-click to start editing. It is still possible to double-click a cell and start editing, but if you click on the litte arrow, the editor is automatically shown for you! Your users will love this new feature!

Quick edit

Quick edit