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 uploadButtonCaption
icon
attribute to uploadButtonIcon
description
attribute to uploadButtonDescription
UploadComponentSupport
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 '.' } } } }