Servoy 4.1 Final

We are pleased to announce the immediate availability of Servoy 4.1

Make a backup of your current Servoy installation (directory and database) before installing.

This version is available through the download page on the Servoy website (developer section) and auto update.

Changes
[new] SolutionModel node giving the ability to dynamically generate forms through scripting
[new] servoy_sample_solutionModel included
[new] dataset as datasource via “dataset.createDataSource(…)”, this results in the possibility to use forms created in solutionModel on any dataset
[new] make saving of a single record possible through databaseManager.saveData(…) during autosave disabled, it’s possible to save a specific record
[new] databaseManager.nullColumnValidatorEnabled = false or true (disabeld/enabled the default null check, null check could influence business logic in an unwanted way while autosave is disabled)
[new] case 158142: databaseManager.getTableFilterParams(…)
[new] case 169286: function i18n.setI18NMessage(String i18nKey, String value) was added in order to specify i18n key values at runtime
[new] case 143120: added function record.exception.getSQLParameters()
[new] case 173985: missing getTitleText() on a field element
[new] case 160199: DBTreeView bean - have the option to make the checkbox non-editable
[new] clean import from admin page
[new] support for setting row height in DBTreeView bean

[enh] faster solution loading
[enh] case 164379: html bloated in webclient
[enh] case 174832: request use of db identities for i18n tables
[enh] case 120055: a message is given when the web client is disconnected from the server
[enh] new optional arguments for security.logout([solutionToLoad], [method], [argument]) that are the same as closeSolution(…) for reopening a solution

Developer Changes
[new] edit container relation support (self join with all siblings = relation to same table without keys) this allows to pass foundsets over tabpanels in a related way
[new] outline view implemented for form designer
[new] case 156969: refresh database Servers context menu option
[new] case 158718: ‘copy table’ command missing
[new] case 160092: option in Solution Explorer list to also display elements from modules (show valuelists from main solution plus modules)
[new] case 162903: toggle form commands implemented in Eclipse Developer
[new] case 169954: support for relation name as string when adding a related tab
[new] case 174219: Log Server setup is confusing

[enh] code completion improvements, much more can be completed
[enh] added ‘foundset’ and ‘exception’ to the code completion of ‘record’
[enh] better error reporting when creating columns with invalid names
[enh] case 159337: CTRL-L shortcut works both ways: the form that has focus in smart client will be shown in designer
[enh] case 160091: most filter dialogs have an option to filter on parent nodes (for instance relation name to find all related dataproviders)
[enh] case 161615: add tooltips to the default buttons in an editable media field in web client
[enh] case 162791: servoy team syncronize possibility of an individual form
[enh] optimize in form editor: paste action, only go to clipboard when command is actually executed
[enh] performance improvements for the Solution Explorer filter
[enh] support for network port in Servoy Team Server URL address during solution checkout
[enh] case 163335: relation editor improvements: when the primary table is selected, prefill the primary items with the pk (as is done in Servoy 3.5)
[enh] added ‘Show Form Designer’ pop-up menu to the javascript editor
[enh] case 151921: developer 4 sometimes starts too fast while the database is still initializing. we added a property “waitForNativeStartup” if set to true it will wait for the native startup process to finish execution before continuing to start developer
[enh] case 163057: Serclipse: color and font chooser not available on stylesheet editors
[enh] case 165250: remember the size of the I18N editor window
[enh] case 165822: sequence names are not allowed to be longer than 30 characters, now a warning is given instead
[enh] case 164727: context menu option and keyboard shortcut to open script editor from form editor
[enh] case 167767: warning when starting a client from developer and editors are dirty
[enh] case 167168: aggregate error markers generated for missing/disabled servers instead of hunderds of errors
[enh] case 168711: ‘link with editor’ now expands the form node and makes the expanded node visible
[enh] case 155038,158319: Javascript editor: ‘open declaration’ (F3/ctrl-click) for jumping to and from global/form methods
[enh] case 173256: prefill of path with active solution name in solution export
[enh] case 146663: save behavior improved in properties view
[enh] case 167092: better copy-paste support for script methods
[enh] case 172150: option to export a certain number of sample data rows in eclipse solution export
[enh] case 176630: confirmation dialog when clicking “Add/Remove Solution Nature”
[chg] during solution export, a warning dialog is shown if there are errors in the solution

Fixes in 4.1 betas/release-candidates
See Servoy 4.1 rc3 release notes

This is awesome stuff. I am amazed you guys go this out so fast.

Now a question:

“make saving of a single record possible through databaseManager.saveData(…) during autosave disabled, it’s possible to save a specific record”

Can you give an example? The move code shows databaseManager.saveData([record]). What is “[record]”? How does it know which table?

So I ran the update and it says my servoy version is “4.1.0 rc2ii build 649”, is the rc2 stuff just a forgotten leftover, or did I not get the update properly?

Ryan,

It should read “Servoy version 4.1.0 -build 651”.

I updated this morning using servoy_updater.jar and was left with this version.

You can keep re-running the update until it says there are no more updates. At that point you should be at the final version, build 651.

msedita:
You can keep re-running the update until it says there are no more updates. At that point you should be at the final version, build 651.

Yep, that was it. I forgot for a bit that the updater does staged upgrades.

Huge congratulations on 4.1 Servoy. This is close to the most exciting release since 1.0 in my opinion. Being right on the heels of moving to Eclipse with 4.0 it’s a lot of Wow! in one year. Thanks! It’s a lot of fun being a Servoy developer…pretty cool that.

msedita:
Can you give an example? The move code shows databaseManager.saveData([record]). What is “[record]”? How does it know which table?

We could have done a better job in the sample code…, here is a sample code snipped:
databaseManager.saveData(foundset.getRecord(1));

The record object knows to which table it belongs

We tried to upgrade our app server install of Servoy 4.1.0 rc1 to 4.1.0 final and are getting a 401 error…

cal-app1/ka/AS10FORMS> java -jar servoy_updater.jar
Current Servoy version 646
Checking for new Servoy version
Starting/working in: /space1/local/servoy-4.1.0final
Loading version info…
log4j:WARN No appenders could be found for logger (com.servoy.j2db.util.Debug).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” java.io.IOException: Server returned HTTP response code: 401 for URL: http://downloads.servoy.com/downloads/4 … n_info.txt
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1152)
at java.net.URL.openStream(URL.java:1007)
at com.servoy.j2db.develop.cmd.VersionCheck.loadVersionInfoFile(VersionCheck.java:125)
at com.servoy.j2db.develop.cmd.VersionCheck.main(VersionCheck.java:254)

Is something wrong with the download server ?
Thanks in advance

I Got similar error to Mark (above). Is there an issue somewhere?

markhooper:
Server returned HTTP response code: 401 for URL: http://downloads.servoy.com/downloads/4 … n_info.txt

This is strange, the url just opens fine for me in a browser, try for your self, by clicking the one above.

I wanted to have Servoy 3.5.7 AND Servoy 4.1 running on 1 single machine.
I installed 4.1 in another directory than 3.5.7
That went well, but when installing 4.1 I selected the Windows Service option.
Because I wanted both servers running as a service.

Unfortunately my main service (3.5.7) is lost, because it was overwritten by the 4.1 installation.
Please provide possibility to have both services on the same server and even more important:

How can I reset my service back to the 3.5.7 version, because I can’t change the path in the Windows Services properties.

Change in the servoy 3.5/service directory
the wrapper.conf to read the line: wrapper.ntservice.name=ServoyService35
Then execute in the servoy 3.5 directory
service\Wrapper.exe" -i “service\wrapper.conf”

Then you will have a ServoyService and a ServoyService35 in the windows services list

Jan,

I did the change that you wrote, but unfortunately it doesn’t work. See screenshot.

[attachment=0]wrapper_error.jpg[/attachment]

What did I do wrong? The file exists wrapper.conf exists in that directory.

Fail to explain this, please give it a try inside the service dir then, with:
Wrapper.exe -i wrapper.conf

Jan,

A second line had to be changed:

Name of the service

wrapper.ntservice.name=ServoyService35

Display name of the service

wrapper.ntservice.displayname=Servoy Application Server 3.5.7

The duplicate displayname gave the error

Martin

I discovered the source of the ‘401 error’ that we were getting.
Turns out we have a new ‘network police’ policy that was blocking our server’s successful connection to the download server during the upgrade process.
We ended up having to ‘authenticate’ our outbound session request - once we did that we were good to go.

what I alway do is this, create a batch file: (and place it in the service-folder)

install_servoy_service.bat:

cd…
“%CD%\service\Wrapper.exe” -i “%CD%\service\wrapper.conf”
pause

and uninstall_servoy_service.bat:

cd…
“%CD%\service\Wrapper.exe” -r “%CD%\service\wrapper.conf”
pause

After upgrading a 4.0.1 installation to 4.1 I some of the icons in the solution explorer have changed (see image). Solutions seem to work fine.

What, if anything, do the changed icons mean?

Yellow icon means file system is in sync with repository. Black icon is when file system is different.
[attachment=0]Picture 25.png[/attachment]

Picture 25.png