5.0.0

We are pleased to announce the immediate availability of version 5.0.0 of the Servoy framework.

This version is compatible with version 7.4 of Servoy (and higher).

IMPORTANT: Because some modules are renamed and some scopes are moved, you should remove your existing framework modules from your workspace and svn before importing so the files will not mixup. This is also the case for the application server, remove the existing framework modules prior to updating to this framework version.

Because of the scope renames you will also have to replace certain names if you use them in your own code. This is the list of all things that should be renamed:
modUtils > svyUtils
modUtils$data > svyDataUtils
modUtils$date > svyDateUtils
modUtils$eventManager > svyEventManager
modUtils$logManager > svyLogManager
modUtils$exceptions > svyExceptions
modUtils$IO > svyIO
modUtils$net > svyNet
modUtils$system > svySystem
modUtils$UI > svyUI
modGoogleAnalytics > svyGoogleAnalytics
modUtils$webClient > svyWebClientUtils
modUtils$smartClient > svySmartClientUtils

change: If you use a custom style form you will have to specify this in globals.nav.styleFormName in your onOpen method.

change: Some of the properties have moved to the globals.nav object. If you changed some of them before, you will have to change the globals.nav property now. More information about this change in this case: https://support.servoy.com/browse/SVYFRMWK-647

info: If you cannot open the navigation dialog or security dialog from the menu your superuser probably doesn’t have rights to the keys navigation and security

[attachment=0]svy_framework.servoy[/attachment]

[attachment=1]sampleuse_navigation.servoy[/attachment]

Enhancements:
[enh] SVYFRMWK-584 Allow to inherit the different templates used in tab panels
[enh] SVYFRMWK-638 Validation occurs only on current tab
[enh] SVYFRMWK-618 want to be possible to set spitter size per splitter and resize weight
[enh] SVYFRMWK-529 Title text in export instead of column name
[enh] SVYFRMWK-546 Program foundsetfilters using multiple globals is not working
[enh] SVYFRMWK-535 Button to create content for toolbars
[enh] SVYFRMWK-603 update design remove items that are not used
[enh] SVYFRMWK-601 Use popupForm for bookmarks, documents and record history
[enh] SVYFRMWK-596 Provide bigger toolbar icon images
[enh] SVYFRMWK-650 focus first field if you go to edit
[enh] SVYFRMWK-626 Override menu item name with other i18n key
[enh] SVYFRMWK-616 Bigger tabs and buttons
[enh] SVYFRMWK-615 New Layout Templates with 5 and 6 frames
[enh] SVYFRMWK-611 make row bg selected color clearer
[enh] SVYFRMWK-672 dc_delete and dc_delete_post with return value
[enh] SVYFRMWK-667 support tracking for select in the frameworks
[enh] SVYFRMWK-665 use type ahead in filter table screen
[enh] SVYFRMWK-702 function to get the layout splitter
[enh] SVYFRMWK-597 Methods on login form should be protected instead of private
[enh] SVYFRMWK-613 Option to change the alignment for fields in a lookup
[enh] SVYFRMWK-543 Create template with 1 form on the left and 3 on the right
[enh] SVYFRMWK-647 Move solution properties out of properties table
[enh] SVYFRMWK-542 scopes.svyLookupWindows.showLookupWindow() should call the forms dc_save() method
[enh] SVYFRMWK-366 Multiple delete can’t be disactivated
[enh] SVYFRMWK-673 The fast search field should hve selectOnEnter property set to true
[enh] SVYFRMWK-557 Add User.removeKey(key, [organization]) to svySecurityManager
[enh] SVYFRMWK-553 Allow search for abc||def
[enh] SVYFRMWK-599 Add a filter for owners in the user section of the security configurator
[enh] SVYFRMWK-660 Shortkeys event as an argument
[enh] SVYFRMWK-583 Add Group.getKeys() to securityManager
[enh] SVYFRMWK-582 Add an option to make a security group “global”
[enh] SVYFRMWK-580 Add createGroup to securityManager
[enh] SVYFRMWK-516 Add an option to login user case insensitive user names as it is standard on Windows
[enh] SVYFRMWK-496 Add a checkbox to the user dialog in security to require a new password on next login
[enh] SVYFRMWK-578 Check if fields of configurator are entered
[enh] SVYFRMWK-565 set Framework tab enabled/dissabled
[enh] SVYFRMWK-664 Provide element names for the validation rules methods
[enh] SVYFRMWK-605 Possibility to pass the lookup fields to a lookup window as parameters
[enh] SVYFRMWK-568 Let dc_fastSearch use all visible fields by default
[enh] SVYFRMWK-564 Style items
[enh] SVYFRMWK-642 fix the deeplinks to work with named arguments only
[enh] SVYFRMWK-641 function to change the rollover image of a toolbar item
[enh] SVYFRMWK-690 warning when there are no fastSearch Fields
[enh] SVYFRMWK-689 possible to not use tableview persistance
[enh] SVYFRMWK-608 Being able to override the new button of the lookupwindow.
[enh] SVYFRMWK-668 read label for fields

Fixes:
[fix] SVYFRMWK-569 Validation rules don’t work for scope method
[fix] SVYFRMWK-658 Error by closing more then one forms
[fix] SVYFRMWK-518 dc_save keeps transaction open if dc_save_pre returns -1
[fix] SVYFRMWK-481 Internal Server Error when opening the dialog Tab detail for a Layout (Configurator - manage Layouts). Web Client only
[fix] SVYFRMWK-683 getSlotText
[fix] SVYFRMWK-515 Lookup window uses program description for window name
[fix] SVYFRMWK-570 Wrong Tab Text
[fix] SVYFRMWK-482 Compare View
[fix] SVYFRMWK-548 Issue in lower right corner of login screen
[fix] SVYFRMWK-540 Add support for scope methods in field validation rules
[fix] SVYFRMWK-701 error when creating bookmark where there is no layout/record open, it should give nice warning
[fix] SVYFRMWK-685 When dc_save fails all records are rolled back. Newly created record with all user input is lost
[fix] SVYFRMWK-487 Empty foundset,
[fix] SVYFRMWK-695 Can’t open Favourites or Bookmarks
[fix] SVYFRMWK-521 Add name property to buttons in Security Configurator order to perform UI-unit tests
[fix] SVYFRMWK-699 dc_export create wrong exports when fields have null values
[fix] SVYFRMWK-688 call to dialog window does not respect the left and top position parameters
[fix] SVYFRMWK-576 security is broken
[fix] SVYFRMWK-623 Authenticator might use the wrong DB when loading properties during login
[fix] SVYFRMWK-581 securityManager.createUser should throw an exception if the password does not match the rules
[fix] SVYFRMWK-563 Problems with security when having multiple solutions
[fix] SVYFRMWK-602 Menus not filtered properly
[fix] SVYFRMWK-661 query in setSecuritySettings is wrong and breaks when using ms sql
[fix] SVYFRMWK-524 Not all Framework tables would be createt while import a solution
[fix] SVYFRMWK-684 security bug
[fix] SVYFRMWK-676 Foundset not maintained on first switch from detail view to table view
[fix] SVYFRMWK-606 remove most databaseManager.setAutoSave(false)
[fix] SVYFRMWK-594 Buttons are not working right if editform is on a tab
[fix] SVYFRMWK-586 Menu setup form popup when use up-arrow button on the table view form
[fix] SVYFRMWK-577 Template 12 doesn’t work correct
[fix] SVYFRMWK-631 Update tables remove columns that are not used
[fix] SVYFRMWK-624 Bug in tab specific description
[fix] SVYFRMWK-609 Rendering in the webclient is not so nice with the transparent background
[fix] SVYFRMWK-666 Every where in the framework that you can call methods scope methods should be supported
[fix] SVYFRMWK-700 errors when using a toolbar without items
[fix] SVYFRMWK-670 Making solution ready for 7.4
[fix] SVYFRMWK-550 Can’t export as XSLT
[fix] SVYFRMWK-604 field name must match the dataprovider name
[fix] SVYFRMWK-595 Fastsearch does not work with related textfields
[fix] SVYFRMWK-639 PSQL Upper syntax issue in searches
[fix] SVYFRMWK-630 FW codebase used plugins.dialogs in multiple locations, instead of the Dialogs module
[fix] SVYFRMWK-682 Wrong title displayed after switching to another task and back
[fix] SVYFRMWK-681 Cache column order and size in the client, so no get/set’s are needed on sequential form show/hide
[fix] SVYFRMWK-509 buttons Add/edit/remove criteria for the Advanced search, don’t fire onAction in Web Client
[fix] SVYFRMWK-549 Exception Deleting Toolbar from Program Properties
[fix] SVYFRMWK-221 moving splitpane up and down does not slide bottom of pannels correct
[fix] SVYFRMWK-561 No hardcoded use stylesheet sampleuse_navigation any more.
[fix] SVYFRMWK-558 regular search can’t handle spaces
[fix] SVYFRMWK-607 Short-Cut fires also on closed forms
[fix] SVYFRMWK-573 I entered wrong Username and correct password but the error message displayed was “Wrong password”
[fix] SVYFRMWK-566 toolbars are not deleted
[fix] SVYFRMWK-644 After editing once most of the search fields in the navigator are disabled.
[fix] SVYFRMWK-633 bgcolor of combobox keeps yellow after save
[fix] SVYFRMWK-625 I18n key select button is clickable after saving
[fix] SVYFRMWK-694 Colored border in edit mode in WC doesnt work
[fix] SVYFRMWK-693 if menutype is layout or function menu should not look for children
[fix] SVYFRMWK-622 Message for the wrong form
[fix] SVYFRMWK-620 Some fileds based on relation would not be exported
[fix] SVYFRMWK-612 delete doesn’t return right value if no is clicked
[fix] SVYFRMWK-610 Is it necessary to call svy_nav_loadCorrectTableView onShow of a form?
[fix] SVYFRMWK-527 Export doesn’t always get the right format if there are buttons on form
[fix] SVYFRMWK-508 Navigation toolbar items not correctly setted after performing a saved Search
[fix] SVYFRMWK-545 get mode of a form in a lookup window
[fix] SVYFRMWK-544 Print list was not saved correct anymore
[fix] SVYFRMWK-534 VALUELIST ENTERED WITH 000-000-- BUT FILTERED ON -1
[fix] SVYFRMWK-692 Repeated shortkeys not working when using same DB and different solutions
[fix] SVYFRMWK-346 SlotText does not work correctly with i18n when using multiple_tabs_per_program
[fix] SVYFRMWK-336 Trouble with the keys and tables
[fix] SVYFRMWK-330 Error in function switchForEdit
[fix] SVYFRMWK-537 Exporting records fails when having a failing relation
[fix] SVYFRMWK-373 Missing delete field functionality in the Print List function
[fix] SVYFRMWK-678 Lookup on same table/Show record (recursive)/Close/Lookups no longer respond
[fix] SVYFRMWK-703 setup document managment setup does not provide any feedback to the user when is complete
[fix] SVYFRMWK-704 Can’t download document from preview dialog of document manager
[fix] SVYFRMWK-705 error at getPropertySetById
[fix] SVYFRMWK-706 Security configurator error: From Keys tabs add testkey to the group
[fix] SVYFRMWK-707 Security configurator error: From Keys tabs add a module to a key
[fix] SVYFRMWK-696 Favourites Fast Swtiching on Web Client generates an error in console
[fix] SVYFRMWK-710 Can’t download documents with document manager on Web Client

svy_framework.servoy (1.73 MB)

sampleuse_navigation.servoy (1.9 MB)

Thanks Sanneke !

There is a bug with the search in this version to solve this replace the svy_sea_search method with the attached method. [attachment=0]svy_sea_search.txt[/attachment]

svy_sea_search.txt (13 KB)

Hi Sanneke

Thanks for the bugfix.
There is a hard-coded reference to the framework db (var fsTab = datasources.db.svy_framework.nav_tab.getFoundSet()).
We dont have a svy_framework db. Therefore there sould not be such references.
Thanks.

Hi Sanneke,

I just updated (finally) to 5.0.0. Now I have the problem, that the global Method (ID: 9FCEA289-E349-48D2-934B-961C6E7D4618) for the Valuelist svyAuthentivationMethods in unresolved. Could you please tell me the name of the method and perhapes the methodcode, if I don’t find the method by name either?

Thank you!

It is the following method:

/**
 * Creates the value list for the property "authentication_method"
 *
 * @param {String} displayValue The value of a lookupfield that a user types
 * @param realValue The real value for a lookupfield where a display value should be get for
 * @param {JSRecord} record The current record for the valuelist.
 * @param {String} valueListName The valuelist name that triggers the method. (This is the FindRecord in find mode, which is like JSRecord has all the columns/dataproviders, but doesn't have its methods)
 * @param {Boolean} findMode True if foundset of this record is in find mode
 *
 * @returns {JSDataSet} A dataset with 1 or 2 columns display[,real]
 *
 * @properties={typeid:24,uuid:"9FCEA289-E349-48D2-934B-961C6E7D4618"}
 */
function getSvyAuthenticateMethodsValueListItems(displayValue, realValue, record, valueListName, findMode) {
	if (displayValue == null && realValue == null && authenticationMethods) {
		return authenticationMethods;
	} else if (displayValue == null && realValue == null) {
		var implementations = scopes.svyUI.getJSFormInstances(solutionModel.getForm('AbstractAuthenticationDef'));
		authenticationMethods = databaseManager.createEmptyDataSet(0, 2);
		for (var i = 0; i < implementations.length; i++) {
			/** @type {RuntimeForm<AbstractAuthenticationDef>}*/
			var form = forms[implementations[i].name];
			authenticationMethods.addRow([form.getDisplayName(), implementations[i].name]);
		}
		return authenticationMethods;
	} else if (realValue != null) {
		authenticationMethods.addRow(["Module not found", realValue]);
		var result = databaseManager.createEmptyDataSet(1, 2);
		result.setValue(1, 1, "Module not found for implementation \"" + realValue + "\"");
		result.setValue(1, 2, realValue);
		return result;
	} else {
		return null;
	}
}

Thank you for the very very fast answer!!! Found the method.

What is the alternative for nav_current_formname?

/**
  • @type {String}
  • @deprecated Will be removed in version 6.
  • @properties={typeid:35,uuid:“207adf86-261e-4777-9af2-fb898a29e28e”}
    */
    var nav_current_formname = ‘’;

You can get it from the toolbar.

	var toolbarForm = getToolbarFormName();
	var form = forms[forms[toolbarForm].vFormname];

Patch authenticate.

When you start using java 8, you will run into a bug in the authenthicate solution. To fix this, line 336 of the file svyAuthenticate.js should be:

var fsUserRecord = databaseManager.getFoundSet(userRecordQuery);

instead of:

var fsUserRecord = databaseManager.getFoundSet(userQuery);