| 14.09.2010 imo |
| Removed org.eclipse.scout.rt.shared.security.AllAccessPermission since it never worked and is not a valid jaas concept |
| Migration: |
| replace by java.security.AllPermission |
| |
| 21.12.2010 imo |
| Extracted DataModel with entities and attributes out of AbstractComposerField and moved to org.eclipse.scout.rt.shared.data.model |
| Migration: None, sometimes organize imports is necessary. |
| Legacy: There is legacy support with deprecated AbstractComposerAttribute and AbstractComposerEntity. Also inner attributes and entities of a composer field are still valid |
| and wrapped in a ComposerFieldDataModel. |
| Renaming: |
| AbstractComposerAttribute -> AbstractDataModelAttribute |
| AbstractComposerEntity -> AbstractDataModelEntity |
| ComposerAttributeInjector -> DataModelAttributeInjector |
| ComposerOp -> DataModelAttributeOp |
| ComposerConstants -> DataModelConstants |
| ComposerUtility -> DataModelUtility |
| IComposerAttribute -> IDataModelAttribute |
| IComposerOp -> IDataModelAttributeOp |
| IComposerEntity -> IDataModelEntity |
| |
| 10.02.2011 abr |
| Ticket 98'889 |
| AbstractPropertyData.isValueSet() was not taken into account when importing a form data. |
| |
| 11.02.2011 jgu |
| New translations inserted for the languages bg,cs,da,el,es,fi,fr_BE,fr,hr,hu,it,nl_BE,nl,no,pl,pt_br,ru,se,sk,sl,sr,tr,zh_TW,zh. |
| |
| 17.02.2011 imo |
| added support for safe and lenient permissions transfer via service tunnel overriding serialization of Permissions object to list of serialized objects thus supporting skipping unknown permissions instead of skipping the whole Permissions class |
| see ServiceTunnelInputStream, ServiceTunnelOutputStream, LenientPermissionWrapper, LenientPermissionsWrapper |
| |
| 14.03.2011 dwi |
| org.eclipse.scout.rt.shared |
| - AbstractDataModelEntity |
| Bug-Fix: Initialization of child entities |
| |
| 18.03.2011 imo |
| Migration of legacy: moving remaining legacy logic from client to server |
| Added TokenBasedSearchFilter, TokenBasedSearchFilterService to support token-based query building on logical level. |
| Added LegacySearchFilterService to support global client side legacy handling of search behaviour. |
| Migration: None |
| |
| 01.06.2011 imo |
| Internal security audit |
| - server stack traces must not be sent to client |
| - server log must contain all exceptions (except intended business logic exceptions) |
| - enhanced access control on gui remote service calls: see enahncements on IAccessControlService.checkServiceTunnelAccess |
| - adding logout service and calling it from IClientSession.stop(); |
| Migration: None |
| |
| 14.10.2011 abr [contributed by Adrian Moser, BSI Business Systems Integration AG] |
| bugzilla ticket: 360946 |
| Bookmarks do not save column visibility |
| Migration: None |
| |
| 17.10.2011 imo Iteration 2 of scout validation framwework |
| In order to modularize the validation package, the following classes have moved: |
| org.eclipse.scout.rt.shared.data.IValidator -> org.eclipse.scout.rt.shared.validate.IValidator |
| org.eclipse.scout.rt.shared.data.DefaultValidator -> org.eclipse.scout.rt.shared.validate.DefaultValidator |
| org.eclipse.scout.rt.shared.util.ValidationUtility -> org.eclipse.scout.rt.shared.validate.ValidationUtility |
| org.eclipse.scout.rt.shared.data.form.InputValidation -> org.eclipse.scout.rt.shared.validate.InputValidation |
| org.eclipse.scout.rt.shared.data.form.OutputValidation -> org.eclipse.scout.rt.shared.validate.OutputValidation |
| org.eclipse.scout.rt.shared.data.form.ValidationStrategy -> org.eclipse.scout.rt.shared.validate.IValidationStrategy |
| And the following code needs to be replaced: |
| IValidationStrategy.NO_CHECK -> IValidationStrategy.NO_CHECK.class |
| IValidationStrategy.QUERY -> IValidationStrategy.QUERY.class |
| IValidationStrategy.PROCESS -> IValidationStrategy.PROCESS.class |
| The validation now covers form data field validation using ValidationRule as well as method parameter and bean field validation using |
| annotations in org.eclipse.scout.rt.shared.validate.annotations. |
| These include: |
| @CodeValue |
| @LookupValue |
| @Mandatory |
| @MaxLength |
| @MaxValue |
| @MinLength |
| @MinValue |
| @RegexMatch |
| @Treat0AsNull |
| @FieldReference (meta) |
| @ValidateAnnotationMarker (meta) |
| |
| The (default) input validation on server side is activated using the config.ini property |
| org.eclipse.scout.rt.server.validateInput=true |
| The main classes doing validation are (in call order): |
| - ServiceTunnelServlet |
| - DefaultTransactionDelegate |
| - DefaultValidator |
| - IValidateCheck (and subtypes) |
| |
| 18.10.2011 aho |
| bugzilla ticket: 361256 |
| To make reuse of the ServletFilters in RAP projects. The following classes |
| should be moved to the 'org.eclipse.scout.http.servletfilter' bundle: |
| - org.eclipse.scout.rt.server.servlet.filter.AbstractChainableSecurityFilter |
| - org.eclipse.scout.rt.server.servlet.filter.AnonymousSecurityFilter |
| - org.eclipse.scout.rt.server.servlet.filter.BasicSecurityFilter |
| - org.eclipse.scout.rt.server.servlet.filter.DataSourceSecurityFilter |
| - org.eclipse.scout.rt.server.servlet.filter.LDAPSecurityFilter |
| - org.eclipse.scout.rt.server.servlet.filter.TomcatSecurityFilter |
| |
| All servlet filters in the 'org.eclipse.scout.rt.server' bundle were kept as @deprecated subclasses of the moved ones. |
| |
| Furthermore the |
| 'org.eclipse.scout.rt.shared.services.common.security.SimplePrincipal' should |
| be moved to the 'org.eclipse.scout.commons' bundle. |
| |
| Migration: change all 'org.eclipse.scout.rt.shared.services.common.security.SimplePrincipal' imports to 'org.eclipse.scout.commons.security.SimplePrincipal'. |
| |
| 24.10.2011 mvi |
| Bugzilla ticket 361816 |
| Replace current NLS support with Text Provider Services |
| - added ITextProviderService, IDocumentationTextProviderService, AbstractDynamicNlsTextProviderService |
| - Migrated existing text providers to scout text provider services |
| - TEXTS class added for consistent translation retrieval |
| - Splitted org.eclipse.scout.rt.shared texts into two plugins: |
| - org.eclipse.scout.rt.shared contains text provider service with all texts that are used by the runtime |
| - org.eclipse.scout.rt.shared.legacy.texts.fragment contains all texts that are no longer used by the runtime |
| - getConfiguredDoc properties moved to different ConfigProperty type for Scout SDK (support for Docs Text Providers) |
| - ScoutTexts changed to use text services (cached). |
| Migration: |
| - Add "org.eclipse.scout.rt.shared.legacy.texts.fragment" to all products. |
| - For each existing NLS Class (directly or indirectly extending "org.eclipse.scout.rt.shared.ScoutTexts" or "org.eclipse.scout.commons.nls.DynamicNls"): |
| - create a new "<YourSharedPlugin>.services.common.text.<Name>TextProviderService" extending "org.eclipse.scout.rt.shared.services.common.text.AbstractDynamicNlsTextProviderService" in the corresponding shared plugin. |
| - For each created TextProvider Service: |
| - Overwrite the method "getDynamicNlsBaseName" and return the same value as in the "RESOURCE_BUNDLE_NAME" constant (stored in the corresponding Texts class) as string literal. |
| - Register the service in the corresponding plugin as scout service using the "org.eclipse.scout.service.DefaultServiceFactory", no session class and give a ranking > 0. E.g.: <service class="com.bsiag.crm.shared.core.services.common.text.CoreTextProviderService" factory="org.eclipse.scout.service.DefaultServiceFactory" ranking="100" /> |
| - Delete all Texts classes and replace all uses of the old Texts classes with the class "org.eclipse.scout.rt.shared.TEXTS". |
| - Remove the "getNlsTexts" methods from the Session classes if existent (unless you use session-dependent translations). |
| - Correct return type of "getConfiguredNlsProvider" of all SqlServices (if existent) to return the new type defined by AbstractSqlService and return "ScoutTexts.class" inside the method. |
| - If somewhere the "SwingUtility.setNlsTexts" method or "SwtUtility.setNlsTextsOnDisplay" method is used, set it to "ScoutTexts.getInstance()". |
| - Delete all .nls files (NLS Editor can now be accessed using the TextProviderService Node in the Scout Explorer of the Scout perspective). |
| If you want to keep the .nls files (e.g. to support key shortcuts like ctrl+shift+r) do the following: |
| - Open the .nls file in the text editor (right click -> open with). |
| - Remove the following properties: "Nls-Type", "Nls-File-Prefix", "Nls-Translation-Folder". |
| - Change the property "Nls-Class" to the fully qualified name of the Text Provider Service you would like to edit with this .nls file. |
| - Save the changes and open the .nls file again in the Multilanguage Editor (right click -> open with). |
| |
| 26.10.2011 dwi |
| Bugzilla ticket 361795 |
| Problem: |
| Decorating a Date or a Number has to use NlsLocale-Settings. |
| Currently, Locale.getLocal() is used which may contradict with user-settings. |
| Solution: |
| In Java 6 it is possible to contribute custom Locales (e.g. en_CH) to the JRE. That is why Scout NlsLocale is not used anymore and therefore marked as deprecated. |
| The user's locale is accessed as follows: |
| - On client side, the user's locale is accessed by Locale.getDefault() |
| - On server side the request's locale is accessed by LocaleThreadLocal.get() (convenience accessor: ServerSession.get().getLocale()) |
| Eventhough the class NlsLocale is marked as deprecated for legacy support, its constructor 'NlsLocale(Locale)' was removed because NlsLocale was changed to only act as delegate to the thread's locale (if applicable) or default locale otherwise. |
| Please note: A locale consists of its language and country. The country is mainly responsible for format settings as for instance the grouping separator of numbers. A very few locales already exist in the JRE. But if you like to have the application in the English language with Switzerland as its region, you have to contribute your own locale-implementation 'en_CH'. Please see Migration section for detailed instructions to extend JRE with a custom locale. |
| Plug-Ins changed: |
| - org.eclipse.scout.commons |
| - org.eclipse.scout.rt.client |
| - org.eclipse.scout.rt.server |
| - org.eclipse.scout.rt.shared |
| - org.eclipse.scout.rt.ui.swing |
| - org.eclipse.scout.rt.oraclelite10g.core |
| - org.eclipse.scout.rt.xstream.shared |
| Migration: |
| - removed NlsLocale(Locale) (constructor): use Locale instead of NlsLocale |
| - removed IServerSession#getNlsLocale(): use IServerSession#getLocale() instead (e.g. replace all ServerSession.get().getNlsLocale().getLocale() by ServerSession.get().getLocale()) |
| - In client Plug-Ins: replace NlsLocale.getDefault().getLocale() by Locale.getDefault() |
| - In server Plug-Ins: replace NlsLocale.getThreadDefault().getLocale() by LocaleThreadLocal.get() |
| - In shared Plug-Ins: replace NlsLocale.getDefault().getLocale() by NlsUtility.getDefaultLocale() |
| Contribution of custom locales to the JRE: |
| 1. Create a plain Java project, e.g. x.y.localeprovider.en.ch |
| 2. Create two classes that inherit from {@link DateFormatProvider} and {@link NumberFormatProvider} and implement the method stubs specific to your locale |
| 3. Create the folder META-INF/services with two files java.text.spi.DateFormatProvider and java.text.spi.NumberFormatProvider |
| 4. In those files, simply put the the fully qualified name to your date/number provider |
| 5. Export project as JAR file and put it into \lib\ext of your JRE |
| |
| 28.11.2011 dwi |
| Bugzilla: 364019 |
| Problem: |
| There has to be a possibility to disable the behaviour of Ctrl+C on tables. A use case for this would be an application |
| with sensitive information (e.g. address data) that should not be allowed to be exported, only to be displayed to the user. |
| Solution: |
| > Added the method 'AbstractTable#execCopy(ITableRow[])' to return a transfer object to be put into the clipboard |
| > By default, a TextTransferObject is returned with a text/plain and text/html representation of the selected rows. |
| That means that if the target understands HTML, the HTML representation is used over the plain-text representation. |
| > In SWT, added copy support on tables (not implemented yet) |
| > Added permission 'CopyToClipboardPermission' to enable / disable the copy functionality |
| Migration Swing: |
| > So far, the copy functionality was enabled by default. Because protected by a permission, it is disabled by default as of now. |
| To enable the CTRL-C behavior on tables, add the permission 'CopyToClipboardPermission' to the permission-set in AbstractAccessControlService#execLoadPermissions |
| or directly grant it to specific user roles in your database script. |
| Migration SWT: |
| > None because not supported yet. To enable the copy functionality, see migration notes for Swing. |