Servoy 3.5 rc7

We announce the immediate availability of Servoy 3.5 rc 7

NOTE: this is PRE-RELEASE SOFTWARE, use with caution and make BACKUPS before you start.

This version will be available shortly through auto update for users of versions later than 3.5 b2 (check via help menu → check for new version)

Changes
[chg] added 3 pages to the webclients configuration in the admin page:
servoy.webclient.error.page,
servoy.webclient.pageexpired.page,
servoy.webclient.serverbusy.page
[chg] application.closeFormDialog returns boolean indicating success or failure (false when blocked by onHide script)
[chg] web client plugin api allows publishing of content to browser, see below
[chg] changed default i18n message table name and made name editable
[enh] support for ‘label for’ in browser

[fix] web client menu plugin Internet Explorer
[fix] web client tabpanel fixes for Firefox
[fix] null pointer fix in related valuelist
[fix] closeFormInDialog now clears history when closing the dialog
[fix] media upload page won’t case page expired errors anymore
[fix] there now can be more columns in the select than there are PK columns via loadRecords
[fix] fixes for date fields in web client
[fix] onTabChange will no longer be called on first selection
[fix] order of events synchronised between smart client and web client
[fix] renamed the jars for the http tunnel, see below
[fix] fix for bgcolor in table view
[fix] all validators allow empty or null values
[fix] for replace table(s) and use of duplicate servers
[fix] pass correct form name in form copies
[fix] web client checkbox selection problems
[fix] borderType editor window too small to fit content after fresh install
[fix] web client read-only forms wouldn’t allow users to enter search data
[fix] pdf plugin dropping lines / improved printing
[fix] checkboxes would not go back to readonly after search in smart client
[fix] added some missing Sybase libraries, making dbinit and dbstop work - will not be included in auto update, perform full install when needed

Auto update note
Users of the auto update system need to replace their servoy server launch scripts on the server.

Windows users using auto update on their servers:
If you use the servoy_server.bat script: save the new servoy_server.bat file in your servoy folder.
If you are running Servoy as a Windows service: save the new wrapper.conf file in your servoy/service folder.

Mac users using auto update on their servers:
See: Linux users using auto update on their servers

Linux users using auto update on their servers:
Save the new servoy_server.sh file in your servoy folder.
Next, make it executable by doing

cd <servoy directory>
chmod u+x servoy_server.sh

in a terminal, where is the location of your Servoy installation.

Previous release
http://forum.servoy.com/viewtopic.php?t=8771

Email validator is “better” than it was in rc6 but nulls/empty strings still have problems. Try this sequence:

  1. Attach email validation to a text field;
  2. Enter this field and type in the word “test” (my quotes);
  3. Attempt to exit the field with the tab key;
  4. Press ok to accept the dialogue’s advice that the field needs to be fixed
  5. Now, try to exit the field after backspacing to remove the word “test”

It is possible to exit the field with an empty string by:

  1. Altering the field from “test” to “test@test.com” (the chances of a user knowing to do this is remote)
  2. Tabbing out of the field;
  3. Going back to the field and then clearing the contents - the field will then accept the empty string edit.

Thanks, Michael

The function jsTable.getRowIdentifierColumnNames() doesn’t work anymore.

I found that the following works now jsTable.js_getRowIdentifierColumnNames()

Some temporary change???

martinh:
The function jsTable.getRowIdentifierColumnNames() doesn’t work anymore.

I found that the following works now jsTable.js_getRowIdentifierColumnNames()

Some temporary change???

Martin,

At some point the javascript engine gets confused, this is fixed for next release.

Rob

Michael Mooney:
5. Now, try to exit the field after backspacing to remove the word “test”

It is possible to exit the field with an empty string by:

  1. Altering the field from “test” to “test@test.com” (the chances of a user knowing to do this is remote)
  2. Tabbing out of the field;
  3. Going back to the field and then clearing the contents - the field will then accept the empty string edit.
    l

what is now exactly the problem?
Can a person insert a none valid email or not?

because exiting a field that is empty is allowed.

Johan,

Resolved in case 86960 (bug fix) for 3.5 final - from Servoy support this am. Keystroke details can be found in this case submission.

The validation of the email string itself is fine. The problem is to do with entering invalid data into this field and then trying to remove it (ie - accidental entry of some data into the field and then deciding “I don’t want anything in this field”).

Michael

Hi

I am getting this error message. How to upgrade the server (and what exactly IS the serrver anyway?). Up to now I upgraded the Developer on the server, implicitly upgrading the server thereby (at least I thought that up to today).
What do I need to do?

Error Message:

Error connecting to the multi developer server: 10.0.1.2:1200

When pressing the button Details >>:

com.servoy.j2db.multi.b: Developer version is newer then the server, upgrade the server or downgrade the developer

Best regards, Robert

PS: I can’t figure out what the auto update note in: We announce the immediate availability of Servoy 3.5 rc 7
means. My existing servoy_server.sh file was not overwritten so where is the new one? Thanks for help.

Robert Huber:
How to upgrade the server?

Make a backup, stop Servoy, then do this from the Servoy directory on your server:

java -jar servoy_server_updater.jar

And start Servoy server again.
Don’t run developer on the server, as that will mess up your settings and licenses.

My existing servoy_server.sh file was not overwritten so where is the new one?

The auto update system doesn’t take OSes and architectures into account. That means we can’t ship Sybase or shell/batch scripts via the auto update system as they differ between Mac, Linux and Windows.

Download the file linked in the original post for your OS and you’re set.

What is your setup?

From the error message, I assume you have a MultiDev license installed on a Server and you are trying to connect top the multidev server from a developer, right?

The new servoy_server.sh can be obtained by clikcing the link in the release notes at the top of this thread. Click the link and the file will download.

As for what is a Server: Servoy server is the application server to which clients connect. The Servoy Server is a piece of software that you run on a computer either as a Service or you start is manually. If started manually, you probably have a console window to indicate that it’s running. The Servoy Server is the piece of software that has all the connections to the databases, is the software that hosts the admin pages and the client start pages and offcourse does a whole bunch of other things as well.

If you start a develper, you also, automatically start a Servoy Server and then, if you close Developer and the Servoy Server is also automatically closed.

If your Servot server environment is one and the same as your developer environment, upgrading Developer will also upgrade the Server automatically.

But, like I said in the beginning of this post, i think you have at least 2 environments: 1 (MultiDev) Server environment and one Developer environment. Both need to be running exactly the same version of Servoy, or else you’ll get the messages you’re now getting.

You probably need to upgrade the MultiDev Server environment (see the docs for how this can be done).

Paul

BTW: A multiDev Server is a normal Servoy Server environemtn, but then one where there is also a MultiuDev License present.

Hi Sandor

Thanks a lot! That solved my problems :-)

Regards, Robert

svroemisse:

Robert Huber:
How to upgrade the server?

Make a backup, stop Servoy, then do this from the Servoy directory on your server:

java -jar servoy_server_updater.jar

And start Servoy server again.
Don’t run developer on the server, as that will mess up your settings and licenses.

My existing servoy_server.sh file was not overwritten so where is the new one?

The auto update system doesn’t take OSes and architectures into account. That means we can’t ship Sybase or shell/batch scripts via the auto update system as they differ between Mac, Linux and Windows.

Download the file linked in the original post for your OS and you’re set.

Hi Paul, Sandor

Thanks a lot for your explanantions! I did what Sandor suggested and that solved the problems.

I am a bit concerned as I run on our Mac OS X server also the Servoy Developer application, just for update reasons. We do not use it for development, that’s done on the Mac clients.

Is it a problem to have a Servoy Developer running on the server?

Best regards, Robert

pbakker:
What is your setup?

From the error message, I assume you have a MultiDev license installed on a Server and you are trying to connect top the multidev server from a developer, right?

The new servoy_server.sh can be obtained by clikcing the link in the release notes at the top of this thread. Click the link and the file will download.

As for what is a Server: Servoy server is the application server to which clients connect. The Servoy Server is a piece of software that you run on a computer either as a Service or you start is manually. If started manually, you probably have a console window to indicate that it’s running. The Servoy Server is the piece of software that has all the connections to the databases, is the software that hosts the admin pages and the client start pages and offcourse does a whole bunch of other things as well.

If you start a develper, you also, automatically start a Servoy Server and then, if you close Developer and the Servoy Server is also automatically closed.

If your Servot server environment is one and the same as your developer environment, upgrading Developer will also upgrade the Server automatically.

But, like I said in the beginning of this post, i think you have at least 2 environments: 1 (MultiDev) Server environment and one Developer environment. Both need to be running exactly the same version of Servoy, or else you’ll get the messages you’re now getting.

You probably need to upgrade the MultiDev Server environment (see the docs for how this can be done).

Paul

BTW: A multiDev Server is a normal Servoy Server environemtn, but then one where there is also a MultiuDev License present.

Robert Huber:
Is it a problem to have a Servoy Developer running on the server?

Yes it is. Don’t do it. Really. Use the method I described above.

Hi Sandor

So you are saying we should always do a Servoy server update with just the command

java -jar servoy_server_updater.jar

in the terminal? And NOT use the Servoy Developer on a Servoy server machine at all?

Best regards, Robert

svroemisse:

Robert Huber:
Is it a problem to have a Servoy Developer running on the server?

Yes it is. Don’t do it. Really. Use the method I described above.

you can run a developer on the server. But do use another servoy.properties file then.

So copy the current one: servoy.properties file to servoy-developer.properties file then start developer with that property file so alter the servoy_developer.bat and add a system property to the startup: -Dproperty-file=servoy_paul.properties

Place that directly after the java command don’t just append it to the string that doesn’t work.

And NOT use the Servoy Developer on a Servoy server machine at all?

Robert I think this conclusion is a little bit too fast.
What Sandor tried to tell (if I am correct) is that you should never use Servoy Developer with Servoy Server running.
However, when you shut down Servoy Server there is nothing wrong with running Servoy Developer.

Would it be oke to install two instances of Servoy on the same Windows box? One as Server and one as Developer.

One “server” in …/Servoy_server

One “developer” in …/Servoy_developer

and start developer only from the developer instance ??
and have the server running from the server instance at the same time ??

If it is allowed, then you have a developer and a server environment on the same server. Mainly for testing purposes.

Tia

So long as you use these two on different repositories and databases it is something many developers do.
However, when you mix either of these (or both) you are in trouble.

you can’t start the services on the the developer or you have to change all the ports (like 8080 and so on).

But it is possible to connect with a developer to the server repository, only be careful with database changes!
And when you alter stuff to the solution the server won’t see it and you need to flush the soluton. Also when you change the database you need to restart the server.

You can have as many instances of Servoy running on the same machine, no problem there. The things you have to look out for are the following:

  • Don’t share the same properties file between two instances (an instance being Servoy server or Servoy Developer)
  • Make sure you configure different ports for all instances (or disable HTTP Services in Developer instances)
  • When each environment uses their own databases: Make sure they run on different ports and you connect to the proper one.
  • When sharing databases between instances, be aware that changes done through one instance of Servoy are not broadcast to the other instance of Servoy. When you make use of Servoy Sequences in your solutions, you’re bound for trouble here, so either use database sequences then, or don’t share databases between instances of Servoy.
  • when connecting multiple instances of Servoy to the same Repository Database: ALERT!!! ALERT!!! ALERT!!! know what you’re doing… Plenty of advice on this forum already about the do’s and donts in this area.

Regards,

Paul

So, everyone eager to respond on this one… :D