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

SIB Visions Eclipse Update Site

Use the following URL to install SIB Visions Eclipse Plug-ins:

http://eclipse.sibvisions.com/update

The above URL is the official SIB Visions Eclipse Updatesite.

Javeleon Eclipse Plugin

If you use Javeleon for JVx applications and your preferred IDE is Eclipse, check out our new Eclipse plugin. It is the inofficial Javeleon plugin for Eclipse. The name of the plugin is Javilion Plugin. It is available on SourceForge and it is released under Apache License 2.0.

The plugin has two helpful features:

  • Reload Javeleon manually

    Simply reload Javeleon whenever you want.

  • Automatic Reload after resource file update

    The current Javeleon version(s) does not reload when you change a resource file like .properties, .xml, ... If you enable the Javilion plugin in your Eclipse project, reload happens automatically.

If you want to use the plugin, use the following instructions, because we have not setup an updatesite right now!

  • Download the plugin
  • Copy the jar to the dropins or plugins directory of your Eclipse installation
  • Restart Eclipse
  • Add Javilion nature to your project: right mouse click on your project, Javilion/Add nature
  • Right click on your project to verify that Javilion is added:

    Javilion Plugin

    Popup menu

  • Configure your application run configuration and add the port property to your javaagent, e.g.:

    -javaagent:D:\javeleon.jar=nbjdk=default;profile=java;port=9999

    The port 9999 is the default setting. If you need another port, configure it in your .project file:

    <buildCommand>
        <name>com.sibvisions.eclipse.javilion.JavilionBuilder</name>
        <arguments>
            <dictionary>
                <key>port</key>
                <value>1234</value>
            </dictionary>
        </arguments>
    </buildCommand>

    It is a little bit tricky, because we don't have a configuration UI for the plugin right now.

If you use the plugin together with a Javeleon ReloadListener (-Djaveleon.reload.listener=app.MyListener), you feel the full power of Javeleon.

Alternatives to Oracle Forms

If you are interested in alternatives to Oracle Forms, come and talk with us. We speak about "Advantages of Forms and Java combined" at the AOUG Expert meeting on 25th Mai.

We show you step by step how you can create Java solutions as easy as with Oracle Forms. Or better, faster as with Oracle Forms.

It is an event, organized from the Austrian Oracle User Group. There are several talks about the main topic. The talks are in German.

Read more about the event.

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).