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

Category: News

Mavenized everything

We're happy to announce that all our projects are available as Maven artifacts.
Not all of our projects are public and aren't available in public Maven repositories, but we offer our own nexus for all this projects.

Which projects aren't public?

  • Vaadin Charts UI
  • Vaadin responsive application frame
  • Application client
  • Application server
  • Application Services
  • JavaFX mobile UI
  • Oracle Forms extension

We provide snapshot and release artifacts. All other - public - projects are available via maven central as release or snapshot artifacts.

  • JVx
  • JVx EE
  • Vaadin UI
  • JavaFX UI
  • Headless UI
  • Online help
  • JVx mobile

Our private Maven repository is available on a subscription basis. This doesn't mean that our private projects aren't open source projects, but we don't offer snapshot or release artifacts for them!

ProjX/Applications API changes

We'll chang the API of ProjX applications for some listeners. The changes are available in our nightly/weekly builds and in our repository. Please be sure to test your applications because generic listeners won't throw an exception at compile time, only at runtime.

IBeforeOpenWorkScreenListener

public void beforeOpenWorkScreen(ProjX pApplication, String pClassName, Modality pModality, AbstractConnection pConnection) throws Throwable;

to

public void beforeOpenWorkScreen(WorkScreenEvent pEvent) throws Throwable;

IAfterOpenWorkScreenListener

public void afterOpenWorkScreen(ProjX pApplication, IWorkScreen pScreen) throws Throwable;

to

public void afterOpenWorkScreen(WorkScreenEvent pEvent) throws Throwable;

IBeforeCloseWorkScreenListener

public void beforeCloseWorkScreen(ProjX pApplication, IWorkScreen pScreen) throws Throwable;

to

public void beforeCloseWorkScreen(WorkScreenEvent pEvent) throws Throwable;

IAfterCloseWorkScreenListener

public void afterCloseWorkScreen(ProjX pApplication, IWorkScreen pScreen) throws Throwable;

to

public void afterCloseWorkScreen(WorkScreenEvent pEvent) throws Throwable

IOpenWorkScreenExceptionListener

public void openWorkScreenException(ProjX pApplication, String pClassName, Modality pModality, Throwable pCause) throws Throwable;

to

public void openWorkScreenException(WorkScreenExceptionEvent pEvent) throws Throwable;

IVetoOpenWorkScreenListener

public void vetoOpenWorkScreen(ProjX pApplication, String pClassName, Modality pModality, Map<String, Object> pParameter) throws Exception;

to

public void vetoOpenWorkScreen(WorkScreenEvent pEvent) throws Exception;

Monitoring AddOn for VisionX

Our Monitoring tool for JVx applications is very useful for application maintenance but also for application development. It safes time, problems and costs. The tool itself is a standalone JVx application and it connects to another JVx application which was configured with the monitoring plugin. It's not a hard job to configure a JVx application for monitoring, but it's boring.

We now have a really great VisionX AddOn which does all the boring work for you. It configures your applications for monitoring and makes it possible to monitor your applications during development time. It's very helpful to find bottlenecks or to do tuning before deployment :)

The plugin comes with an additional awesome Feature, which isn't available without the AddOn. It's the maintenance module. This module allows you to switch your application(s) in maintenance mode. You could use the maintenance mode to do manual database updates, config updates or simple health checks.

We have a short demo video which shows how it works:

VisionX Monitoring AddOn

The AddOn will be available in our Solution store, but not for free. The monitoring tool needs a separate license.

DOAG 2016 - I'm a Speaker

I'm a Speaker I'm a speaker at DOAG 2016 in Nuremberg.
My talk will be about "JVx introduces itself. Back to efficiency"

Maven central: JVx.web snapshots

Our JVx headless UI (aka JVx.web) implementation is available as maven snapshot:

<dependency>  
  <groupId>com.sibvisions.web</groupId>    
  <artifactId>headless</artifactId>  
  <version>1.2-SNAPSHOT</version>
</dependency>

Don't forget the snapshot repository:

<repository>  
  <id>sonatype-nexus-snapshots</id>    
  <name>Sonatype Snapshots</name>  
  <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

Maven central: JVx.mobile snapshots

Our JVx mobile project is available as maven snapshot:

<dependency>  
  <groupId>com.sibvisions.mobile</groupId>    
  <artifactId>mobile-server</artifactId>  
  <version>1.0.1-SNAPSHOT</version>
</dependency>

and only the API

<dependency>  
  <groupId>com.sibvisions.mobile</groupId>    
  <artifactId>mobile-api</artifactId>  
  <version>1.0.1-SNAPSHOT</version>
</dependency>

Don't forget the snapshot repository:

<repository>  
  <id>sonatype-nexus-snapshots</id>    
  <name>Sonatype Snapshots</name>  
  <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

Maven central: JavaFX UI snapshots

Our JavaFX UI for JVx is available as maven snapshot:

<dependency>  
  <groupId>com.sibvisions.jvx</groupId>    
  <artifactId>jvxfx</artifactId>  
  <version>1.2-SNAPSHOT</version>
</dependency>

or only JavaFX extensions

<dependency>  
  <groupId>com.sibvisions.jvx</groupId>    
  <artifactId>jfxtensions</artifactId>  
  <version>1.2-SNAPSHOT</version>
</dependency>

and don't forget the snapshot repository:

<repository>  
  <id>sonatype-nexus-snapshots</id>    
  <name>Sonatype Snapshots</name>  
  <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

Maven central: Online Help System

Our JVx online help system is available as maven artifact:

<dependency>  
  <groupId>com.sibvisions.help</groupId>    
  <artifactId>help-server</artifactId>  
  <version>1.1</version>
</dependency>
<dependency>  
  <groupId>com.sibvisions.help</groupId>    
  <artifactId>help-themes</artifactId>  
  <version>1.1</version>
</dependency>

and as snapshot (weekly):

<dependency>  
  <groupId>com.sibvisions.help</groupId>    
  <artifactId>help-server</artifactId>  
  <version>1.2-SNAPSHOT</version>
</dependency>
<dependency>  
  <groupId>com.sibvisions.help</groupId>    
  <artifactId>help-themes</artifactId>  
  <version>1.2-SNAPSHOT</version>
</dependency>
<repository>  
  <id>sonatype-nexus-snapshots</id>    
  <name>Sonatype Snapshots</name>  
  <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

JVx 2.5 - summer release

The next JVx release will be version 2.5. It will be available by the end of this week (beginning of July). It's a really cool release because JVx got awesome new features. We had to change the API a little bit but it shouldn't be a problem for your existing applications.

What will be interesting?

  • Push-light

    Our push support has nothing to do with Websockets. It's a technology independent solution for JVx. The Push-light mechanism is available on server-side and enables you to send objects from the server to the client. If you use a direct connection betwenn client and server, the objects wil be sent immediate (e.g. vaadin UI). If you use a serialized connection, the objects will be sent with next client call or alive check.

    The API is simple:

    SessionContext.publishCallBackResult("MESSAGE", "Please logout!");

    or, in a Thread

    final ICallBackBroker broker = SessionContext.getCurrentInstance().getCallBackBroker();

    Thread th = new Thread(new Runnable()
    {
        public void run()
        {
            try
            {
                int i = 0;

                while (isMessageLoopEnabled(i))
                {
                    Thread.sleep(200);
                   
                    broker.publish("MESSAGE", getMessage(i++));
                }
            }
            catch (InterruptedException ie)
            {
                //done
            }
        }
    });
    th.start();

    It's also possible to publish to all clients, via ICallBackBroker.

    The client code is short and simple:

    connection.addCallBackResultListener(new ICallBackResultListener()
    {
        public void callBackResult(CallBackResultEvent pEvent)
        {
            if ("MESSAGE".equals(pEvent.getInstruction()))
            {
                showMessage((String)pEvent.getObject());
            }
        }
    });

    More details: Tickets #25, #1635

  • H2 DB support

    We support H2 with a custom H2DBAccess. The auto detection works with URLs: jdbc:h2:.

  • SQLite DB support

    We support SQLite with a custom SQLiteDBAccess. The auto detection works with URLs: jdbc:sqlite:.

  • MySql limit support

    Read more...

  • Life-cylcle object method inheritance
  • Pie control
  • Set individual cells of a table readonly
  • Connection retries

    We try to re-send requests, if errors occur during transmission. This feature will be available for serialized connections only.

  • Security improvements

    see Tickets: #1605, #1606, #630.

  • API changes

    ICellFormat got a Style attribute and the createCellFormat of IFactory got one more parameter

IT-Tage 2016 - I'm speaker

Logo-itt2016-Web   I'm a speaker at IT-Tage 2016 in Frankfurt - December, 14th.
My talk will be about "JVx – Zurück zur Effizienz! "

Read more.

The full time table.