Known issue with upgrade: make sure that the old eclipselink-2.6.2.cuba9.jar is replaced with the new eclipselink-2.6.2.cuba11.jar in tomcat/shared/lib folder after deployment. When you upgrade a project in Studio, it completely rewrites the whole shared libs folder, and the problem does not appear. But if you pull already upgraded project from VCS into an existing working environment, the standard deploy procedure will not replace the JAR correctly and you need to do it manually, or just delete the whole folder and deploy again.
Bug fixes:
PasswordField by default.IllegalArgumentException when logout while a screen with a timer is opened.Bug fixes, including:
IllegalStateException while opening screen via screen links.LoginService.getSystemSession().SecurityContext after each request.@MetaProperty methods.This is the first public release of platform version 6.3. All significant changes from version 6.2 are listed below.
LoginWindow class of the web client has been removed. If you've customized the login window in your project, you have to rework it using the new mechanism of defining login window as a GUI screen. In order to do this, go to Screens section in Studio and click Create login window.App class (if any) should be registered in web-spring.xml as a bean with the cuba_App name. The Studio migration procedure does this automatically.getAppWindow() method of the App class is replaced with getTopLevelWindow().User entity is extended in your project, the DTYPE column of the SEC_USER table must be updated with the name of the extended entity, e.g. sample$ExtUser. The Studio migration procedure creates a special update script that runs after platform scripts and updates the new 'anonymous' user.getUuid() was removed from the Instance interface.BaseUuidEntity does not contain createdBy and createTs attributes anymore - they are extracted to the Creatable interface. If you have entities inherited directly from BaseUuidEntity, implement Creatable and add fields for these attribute. The Studio migration procedure does this automatically.EmbeddableEntity base class now has the key of type Object instead of UUID.Before* listeners now have EntityManager as a parameter, After* listeners have Connection as a parameter. The Studio migration procedure refactors your listeners automatically.Action interface working with KeyCombination have been renamed to getShortcutCombination() / setShortcutCombination().AfterWindowClosedHandler used by create and edit actions, the action ID string parameter has been added.TablePrintFormAction, EditorPrintFormAction and RunReportAction now implement the Action.HasBeforeActionPerformedHandler interface instead of calling runnables before and after.FileUploadField has been completely reworked. To preserve old look and behavior, do the following:
caption attribute to uploadButtonCaptionicon attribute to uploadButtonIcondescription attribute to uploadButtonDescriptionUploadComponentSupport has been renamed to UploadField.EntitySnapshotAPI.extractEntity() method return type has been changed to Entity. You may need to adjust your code accordingly.LoginWorker.loginSystem() method) never expire._local and _minimal views do not contain system attributes (createTs, updateTs, etc.) for performance reasons. Custom views contain system attributes only if the includeSystemProperties flag is specified.uuid, createTs and createdBy. So a minimal entity can have just one system attribute: id.anonymous login, so you can define permissions for this user to restrict the anonymous usage rights. To benefit from this new functionality, create your own login window (go to the Screens section in Studio and click Create login window) and add datasources and visual components as for a regular screen.TokenList.button attribute has been renamed to addButton, with backward compatibility.CheckBox, MaskedField and DateField now have concrete return types of the getValue() method.BeforeActionPerformedHandler can be used in standard actions to intercept the execution start.updateDb Gradle task.Studio does not provide automatic migration of extension projects. If you have an application project and its extension, follow the steps below.
build.gradle of the extension project in a text editor and do the following:
ext.baseProjectVersion = ... line.dependencies blocks of all modules, for example compile("com.company.sample:app-global:$baseProjectVersion")The theme building mechanism was changed for the final release. However, the migration procedure is not executed when you upgrade from a release candidate to a final release. If you have already migrated your project to 6.3.0.RC2 and it has a theme extension, follow the steps below to upgrade to the final 6.3.0:
settings.gradle in a text editor and do the following:
app-web-themes module:
include(':app-global', ':app-core', ':app-gui', ':app-web', ':app-web-themes')
project(':app-web-themes').projectDir = new File(settingsDir, 'modules/web/themes')
build.gradle in a text editor and do the following:
def webThemesModule = project(':app-web-themes')
configure(webThemesModule) {
apply(plugin: 'java')
apply(plugin: 'maven')
apply(plugin: 'cuba')
appModuleType = 'web-themes'
buildDir = file('../build/scss-themes')
sourceSets {
main {
java {
srcDir '.'
}
resources {
srcDir '.'
}
}
}
}