Changelog base-components
Filter
x
2022.5.2 (2022-05-19)
Fixed
- Fix NPE in TimeWindowValidator
- Fix StateTaskDetailsWithoutRefs -> StateTaskDetails
2022.5.1 (2022-05-16)
- re-release 2022.5.0
2022.5.0 (2022-05-16)
Changed
- Optimize
getParamTargetValue()
with skipCount - Add error logging on workflow related tasks
- [FLOW-16] Cache workflow runtime configuration to reduce database queries
- [FLOW-16] Use
detailsWithoutRefs
projection in workflow orchestration to reduce database queries - [FLOW-16] Update EngineNodeService with projection to reduce database queries
- [FLOW-13] Add ‘refresh’ button to engineService table to force a timer reset if settings are changed
- [FLOW-26] Ignore collector from EngineService
-
Fixed
- [FLOW-13] Fixed automatic timer reset on timeout when settings are changed
- [FLOW-36] Fix incorrect timewindow validation in last minute of window
Changed
- [FLOW-22] Add support for task timeout in ExecutorServiceTaskProcessor
2022.4.1 (2022-04-14)
Fixed
- Fixed naming conflict in harvest code
- Fixed missing imports
2022.4.0 (2022-04-14)
Added
- Added
workflow/workflow-recover-json
endpoint to start recovering instances, mainly used for tests. Provide the workflow reference as a parameter, e.g.workflow/workflow-recover-json?workflow.name=MessageProcessorFlow
2022.3.0 (2022-02-18)
Added
- Added
run now
button to engineService table
2022.2.1 (2022-02-16)
Fixed
- [NSX-213] Verify that email is present in OIDC token as this is a required field.
Added
- [NSX-218] Added support to the OIDC authentication for UserGroups.
Changed
- Performance optimizations in OIDC flow.
2022.2.0 (2022-02-07)
Removed
- [VEGA-173] Removed start/stop engine buttons from workflow page, since they are automatically managed by the EngineStarterBean
Fixed
- OIDC implementation failed on non-standard ports on a reverse proxy in front of the application.
- Added synchronization to
EngineNodeContextRetriever#getEngineNode()
to prevent the EngineNode from being created multiple times
2021.6.1 (2021-12-13)
Fixed
- Fixed DataAccessFinderBean not using ENTITY_NAME in a custom finder harvest
Removed
- Removed obsolete
ProfileFindByUserGroups_ProfileEqDetails
originally used by a long removedUserGroupScreenInfoRetrieverAction
2021.6.0 (2021-12-06)
Removed
- Removed obsolete cocoon
addScreen()
andgetScreenVector()
harvests for Profile and ScreenProfile elements- This is likely to break existing overlays/copy-pastes of
LoginUserSessionHelper
, please sync your code
- This is likely to break existing overlays/copy-pastes of
- Removed obsolete cocoon
ScreenInfoRetrieverAction
behavior (it is a no-op now)
2021.5.0 (2021-12-06)
Added
- Added delete stub for custom asset types to implementation class.
2021.4.4 (2021-10-28)
Fixed
- OpenID Connect pipeline did not always terminate in the authentication process.
2021.4.3 (2021-10-21)
Added
- Support for OIDC access tokens, to support OIDC for APIs.
2021.4.2 (2021-10-20)
Fixed
- Default value for
defaultLoginTimeout
with OpenID Connect was not set if the property was not present (and empty) in the configuration.
2021.4.1 (2021-10-20)
Fixed
- User profile and account should only update if externally managed through OpenID Connect provider.
2021.4.0 (2021-10-20)
Added
- Option
baseComponents.isAccount
on theaccount
component to match the component in its expanders. - Generic support for OpenID Connect authentication from any provider with the ApplicationInstance option
baseComponents.authentication.enableOIDC
.
Changed
AccountApplicationSettings
now combines the settings of allaccount.ns.properties
files found in the classpath. This allows some settings to be specified inside the application and some outside of it.- Moved
AccountApplicationSettings
as expander tonet.democritus:Expanders
.
Removed
- Removed support for the proprietary Google authentication implementation for OpenID Connect and the related
baseComponents.authentication.enableGoogleAuth
option. - Removed
includeBouncyCastle
option onutils
component.
2021.3.1 (2021-09-21)
Fixed
- Fixed some files containing non-ASCII characters
2021.3.0 (2021-07-16)
Fixed
- Translation for
DataAccess.authorized
field.
Added
- [NSX-163] Added support methods to validate listFields in TagValuePairAgent
- Added support for component name in
DataAccess
element. It should be inserted in theelement
field ascomponentName_dataElementName
. Just defining the name of the element is still supported, but discouraged. - Added wildcard right for
DataAccess
asall
, which can be used to deny all rights for an element when the default is allowing all rights, or to allow all rights for an element when the default is denying all rights. - Added simple wildcard support for components and elements in the
DataAccess
element where theelement
can be*
to cover all elements in every component, orcomponentName_*
to cover every element in a component. - Added
net.democritus.acl.ConfigurableDataAuthorizationImpl
andnet.democritus.acl.ConfigurableTaskAuthorizationImpl
classes as an alternative default implementation for the authorization tasks. They default to deny all (or whitelisting), which requires you to define all rights (made easier by the wildcard support). It can be configured to use allow all (or blacklisting) by default if theParamTargetValue
with namedefaultAccessRights
is set toallowAll
.
Changed
DataAccessRights
andTaskAccessRights
can now take an instance ofAccessRightStrategy
, which determines the default authorization for access rights, as well as how access rights are combined.
Removed
- Removed
junit:junit
dependency inassets-shared
, which is already added by the expanders. - Removed
net.democritus:nsx-logging
dependency inassets-shared
, which is already inherited fromnet.democritus:nsx-shared-common
. - Removed unused
org.json:json
dependency inaccount-logic
.
2021.2.1 (2021-06-08)
Fixed
- Fixed issue where AccessInfoInterceptor would reject saveDetails actions when the user has
modify
rights, but notcreate
rights. - Fixed
ParamTargetValueBean#setParamTargetValue
not updating existing values - Fixed
ExecutorServiceTaskProcessor
getting stuck whencompletionService.submit()
throws an exception (e.g. when the executorService queue is too small)
2021.2.0 (2021-05-07)
Added
- Added ExecutorServiceTaskProcessor, which uses an ExecutorService to perform tasks
2021.1.0 (2021-03-10)
Added
- Added base-components-model:jar:model-components classifier containing only pure NS model (without harvest/etc.)
2021.0.1 (2021-01-18)
Fixed
- EngineNodeUpdater now automatically removes EngineNodes with duplicate names during startup.
2021.0.0 (2021-01-14)
Fixed
- Updated custom code in base-components to use most recent finders
2020.12.2 (2020-12-04)
Fixed
ParamTargetValueAgent.setParamTargetValue()
now correctly sets theparam
field instead of thename
to the givenparamName
.
2020.12.1 (2020-11-24)
Fixed
- Fixed EmbeddedAssetUpload feature to work with change in expanders 4.11.1
2020.12.0 (2020-11-24)
Added
- Added PTV support to configure a default user timeout value for accounts with Google authentication.
2020.11.3 (2020-11-10)
Fixed
- Fixed issue with
Register external asset
button on Assets page. - Reverted implementation of
LoginValidatorAction
to proxy the login call though theAuthentication
element’s task, instead of calling the authentication pipeline inUser
directly. - Removed transaction from run-workflow methods
2020.11.2 (2020-10-23)
Fixed
- Fixed an issue in the TimerHandlerBean where the timer would get stuck if the database failed when trying to retrieve the details projection of the EngineService.
2020.11.1 (2020-10-09)
Updated
- Updated nsx-parent 2020.5 -> 2020.9.1
2020.11.0 (2020-09-24)
Added
- A workflow can now be triggered with a POST request to
/workflow/workflow-run-json
.- to run it based on an engineService; You must define a dataRef
engineService
. E.g.http://localhost:9400/messageApp/workflow/workflow-run-json?engineService.name=MessageImportEngineService
- to run it with a set of targetInstance; You must define a dataRef
workflow
and an array of dataRefstargetInstances
. E.g.http://localhost:9400/messageApp/workflow/workflow-run-json
with body:{ "workflow": { "name": "MessageImportService" }, "targetInstances": [ { "id": 351 } ] }
- to run it based on an engineService; You must define a dataRef
- In addition, the WorkflowAgent has new methods
runWorkflowWithEngineService(DataRef engineService)
andrunWorkflowWithTargets(DataRef workflow, List<DataRef> targetInstances)
that will trigger a workflow.
2020.10.0 (2020-07-16)
Added
- [
account
] Added support for Google authentication. This is enabled by adding the ApplicationInstance optionbaseComponents.authentication.enableGoogleAuth
. The value of this option should be theclient ID
that can be obtained from the Google API console. For more information refer to https://developers.google.com/identity/one-tap/web/guides/get-google-api-clientid. - [
account
] Added an ApplicationInstance option to disable the internal password authenticationbaseComponents.authentication.disableInternalAuth
. This will not remove the mechanism to authenticate, but rather remove the login form from the UI and disable login in the struts action that processes the login. - [
account
] Added a new expanded authentication pipeline in theUser
element. This pipeline passes through the entire stack and ends up in its own newUserAuthenticationBean
in thelogic
layer. This new bean class can be used to add additional authentication methods through expander features. Similar to finders and other pipelines, the type of the POJO sent through the pipeline determines the implication called.
Changed
- [
account
] The internal password authentication implementation has moved to the newUserAuthenticationBean
. The previous authentication system using the authentication TaskElement is still present and behaves the same as previously, but now serves as a proxy to the authentication pipeline.
2020.9.1 (2020-07-09)
- Fixed issue in TimerHandlerBean that would set busy flag to false after any timer tick
2020.9.0 (2020-05-29)
- Updated dependencies
2020.8.0 (2020-05-26)
Added
- Support for external asset types defined in other components. These are represented by DataElements marked with the
assets.implementsCustomAsset
option. The value of this option is used as the name of the new asset type, or the name of the DataElement is used if no value is given in the option. An implementation stub is generated in the logic layer for the DataElement, where anAssetStream
has to be provided upon retrieval or persisted when uploading. - Struts actions now enforce their specific http methods (same as if globalOptionSettings.enforceHttpMethod was always enabled)
2020.7.0 (2020-05-07)
Added
- Added submodule
base-components-model
providing just the model resource without expanders
Changed
- Renamed standard dependency from
baseComponents
tobase-components
Removed
- Removed cocoon ext code
2020.6.1 (2020-04-24)
Fixed
- Store result of EngineNode name to prevent the name changing due to a changing hostname
- Fix customizations for option
jpa.entity.name.format
2020.6.0 (2020-04-10)
Fixed
- Wrong class was used to check for TaskParameterContext constructors, resulting in context not being passed through as intended.
2020.5.0 (2020-03-19)
Fixed
- AccessInfoRetrieverAction is now compatible with both struts 2.3 and 2.5
2020.4.0 (2020-03-06)
Added
- Build baseComponents as expansion resource
2020.3.0 (2020-02-27)
Fixed
- Fix issues with threading and create engineNodeService if missing
2020.2.0 (2020-02-07)
Changed
- Updated AccessInfoRetrieveAction for struts 2.5
Removed
- dependency jar files are no longer packaged
2020.1.0 (2020-01-22)
Added
- WorkflowParameterContextFactory and StateTaskParameterContextFactory now pass the context through to parameterContext. The factories first check if the correct constructor is present, in case the application is expanded with an earlier expander version and thus a nsx-runtime version < 2019.7.1
- Modified the label of
workflow::Workflow::className
to ‘Flow element name’ to better represent how the actual value is used. - Added clearer error message if
workflow::Workflow::className
is not correctly defined