4.3.0 fix 001
Release Date : January 23, 2008
Bug Fixes
- [01651] Branch creation causes a NullPointerException if parent branch has been created prior to release 4.3.0:0575.
Workaround: manually edit and save all branches permissions in ebx-repository adaptation located in reference branch.
4.3.0
Release Date : January 18, 2008
Warning on permissions
More restrictive permissions have been implemented on this
release for procedures' execution. These new restrictions can prevent a
user to execute a specific procedure that he could execute with a
previous versions. So, make sure that each profile has the appropriate
permissions that enable him to perform a target procedure. Moreover, you
can still use the method ProcedureContext.setAllPrivileges(true)
in order to disable specific access controls for a given service.
Bug Fixes
- [01566] When a branch is closed, its versions are correctly hidden in the Manager, however these versions are not closed. They should be closed in order to cleanly release their associated content.
- [01583] For overwritten records, a « delete » button appears on the right of the table. When clicking on it, the record is simply switch to inherited. According to documentation, it should occult the record
- [01591] On Manager used in component mode, when a homes comparison is requested, versions displayed under each branch are not correctly sorted.
- [01612] Initial transition tries to reset user when an error occurs even if we are in a sub-session.
- [01613] If the method
SchemaNode.getEnumerationList(ValueContext)is called in the context of a procedure, for an underlyingosd:tableRefwhose tablePath is relative, it throws IllegalArgumentException, Relative path is not supported in this context.... - [01615] Cannot do an export from Reference, the following error message is displayed: "The value '' is not valid (see enumeration facet).".
- [01616] Compare methods for filters and search functions do not work properly on records whose content has undefined (null) values.
- [01618] Calling the method
AfterCreateOccurrenceContext.getAdaptationOccurrence()in a handlerAfterCreate trigger raises a null pointer exception. - [01619] If sessions cookies are disabled, some EBX.Manager functionalities are not available and display a login page instead.
- [01620] The list of selected occurrences is not refreshed when one of them has been deleted.
- [01621] Permissions management: for closing a home, it is necessary that the user has the permission to close it, but also that he has the permission to create a version on the parent branch. This last requirement is not justified.
- [01624] If an adaptation is no more available after a validation because of severe errors, a Fatal error is thrown in the manager when trying to select it in the initial event.
- [01625] When a home (branch or version) is closed but transaction cannot commit successfully, server must be restarted for viewing the branch again.
- [01629] When a branch is merged, its versions are correctly hidden in the Manager, however they are not closed. They should be closed in order to cleanly release their associated content.
- [01630] On Manager, if the administrator has set the session timeout to zero, no user can be logged into EBX since the session expires as soon as the authentication is made.
- [01631] On Manager, it is not possible for the administrator to specify that HTTP session shall never time out.
- [01642] When a record is occulted, if user clicks on overwrite button, the record's edition page is open but the record stay in occulted mode (hence it is read-only).
- [01643] When importing an archive with a change set, if there is an instance deletion in it and the target instance does not exist in target branch, then it is impossible to import because no decision can be taken for this instance.
- [01644] Javascript error for adaptation duplication in adaptation tree page and French Locale
- [01645] In record edition page, when setting a value to null, the icon is not the good one.
- [01646] For some fields types, sort does not work properly.
- [01648] When an instance is copied (
ProcedureContext.doCopyor « duplicate » button in Manager), internal clone of objects is not enough deep.
New EBX.Manager Functionalities
Search in data model
The end user can henceforth perform a search through the data model. The new search tool can be used to find attributes, tables or columns for which label, path or description contain the given search criteria and to navigate quickly in the instance view.
Mass update
The end user can now apply the same modifications on several records simultaneously.
The user must first select a single record and submit the desired modifications on it. He then selects the records on which he wants to apply these modifications and choose in the menu "Actions" the item "Apply last modification(s)".
Last update by
The last user who has modified an adaptation (instance or record) is now displayed.
Note: Information about last user is updated only for local modifications. That is, if the adaptation is a schema instance, not an occurrence, the user persisted is the one who has performed modifications on the instance not on contained table records.
The last user information is also available through class Adaptation.
Permissions on branch services
It is now possible to define permissions on branch services thanks to EBX.Manager interface. It is accessed on the "Access Right" page of the branch.
By default, all branch services are enabled for a given profile. As other branch permissions, an administrator or a "super owner" of the branch can view and modify these services permissions.
For more informations, see Permissions section.
Engine Improvements
Memory usage of comparisons
The implementation of comparisons framework has been reviewed so that use cases are less memory consuming.
Audit trail
The updates detail is now activated by default (in previous versions, it was deactivated in the context of procedures if detail was not explicitly enabled). A consequence is that larger disk space can be involved, more particularly for mass-updates.
For more informations, see Audit Trail section.
API changes
Triggers' methods
The declaration of "throws OperationException" has
been extended to the following methods:
- TableTrigger
.handleAfter... - InstanceTrigger
.handleBefore... - InstanceTrigger
.handleAfter...
This API change preserves ascendant compatibility, unless a
trigger implementation calls super.handle....
Class SessionPermissions
The behaviour of methods SessionPermissions.getOccurrenceActionPermissionTo...
has changed: if adaptation specified as argument is an instance instead
of an occurrence, they throw IllegalArgumentException
instead of returning null.
New methods have been added:
- SessionPermissions
.getHomeActionPermissionForService... - SessionPermissions
.getInstanceActionPermissionForService... - SessionPermissions
.getHomeActionPermissionToCreateRootInstance...
New EBX.Platform Configuration Wizard
EBX.Platform Wizard helps to quickly configure new EBX.Platform installation.
For production environment, administrators should consider to configure manually ebx.properties file.
Obsolete Properties
The following properties have been removed from ebx.properties file:
#################################################
## Deprecated.
## EBX.Platform repository minimal internal index for inserting new records
#################################################
#ebx.repository.insertStartIndex=100
#################################################
## Deprecated.
## Default root path for modules.
## It is used only when EBX.Platform is not running in a servlet container
## Usually, it is the 'webapps' directory.
## This property is required but it may have a void value.
#################################################
ebx.modules.directory=
#################################################
## Deprecated.
## Path for persisted sessions
#################################################
ebx.sessions.directory=${ebx.home}/ebxSession
#################################################
## Deprecated.
## Path for reporting files
#################################################
ebx.reports.directory=${ebx.home}/ebxReporting
#################################################
## Deprecated.
## Automatic reporting batch parameters
## By default automatic reporting batch is not activated
## If automatic reporting batch is activated, it is
## schedule by default at 03:00 AM
##################################################
#ebx.reports.activate= false
#ebx.reports.activate= true
#ebx.reports.timer.hour= 2
#ebx.reports.timer.minute= 30
#################################################
## Deprecated. See ebx.directory.factory
## Organization Database connection adapters class name
## (optional, default uses internal EBX.Platform repository)
#################################################
#ebx.core.org.OrganizationDatabaseConnection=com.onwbp.core.org.DefaultOrgDatabaseConnection
################################################################
## Deprecated.
##EBX.Platform persistence system FileSystem is no more supported
################################################################
#ebx.persistence.factory=FileSystem
#################################################
## Config VM logs (for reporting feature)
## MUST start at index 0.
#################################################
#vm.0.logDir=${ebx.home}/ebxLog
ebx.log4j.category.log.reporting= INFO, ebxFile:reporting
ebx.log4j.category.log.reportingMail= INFO, ebxFile:reporting
#--------------------------------------------------
ebx.log4j.appender.reportingMail.Threshold= ERROR
ebx.log4j.appender.reportingMail= com.onwbp.org.apache.log4j.net.SMTPAppender
ebx.log4j.appender.reportingMail.To= recipient@domain.com
ebx.log4j.appender.reportingMail.From= reporting@domain.com
ebx.log4j.appender.reportingMail.SMTPHost= smtp.domain.com
ebx.log4j.appender.reportingMail.Subject= EBX.Platform Reporting on Site ${ebx.site.name} \
(VM ${ebx.vm.id})
ebx.log4j.appender.reportingMail.layout.ConversionPattern=**Site ${ebx.site.name} \
(VM ${ebx.vm.id})**%n${log.defaultConversionPattern}
ebx.log4j.appender.reportingMail.layout= com.onwbp.org.apache.log4j.PatternLayout