Skip to content

2.1.0

Compare
Choose a tag to compare
@iklymenko iklymenko released this 30 Mar 19:14
· 13020 commits to master since this release

In this release of OroPlatform we’ve focused on improvements to workflow capabilities, parallelization of import & export jobs, and documentation of all our API resources.

Workflow capabilities

Workflow variables

Variables are configurable workflow attributes that can receive their values from external sources, or provide a default value specified by the administrator in workflow configuration at the UI. Workflow variables can be of different types, ranging from simple scalars to entity instances.

The most straightforward use case of variables is make previously hardcoded parameters in transition and step conditions configurable by the user. If you have a workflow that only allows a transition T if some attribute A of entity B doesn’t exceed the value X, turn X into a variable—so then this threshold can be easily changed from the UI when needed. You can also pass the variable value from other sources, or, in our example, make X different depending on which user is working with the entity.

Reuse existing entity forms in workflow transitions

Developers may now easily reuse existing CRUD forms of various entities in workflow definitions. This saves effort and simplifies maintenance—if the edit form is changed later, all workflows that reuse it will also change accordingly.

Start a workflow without entity record

A workflow can now be started by an event trigger even if no workflow entity record exists yet—allowing you to utilize workflows for background entity creation.

UI for transition destination configuration

Transition destination, i.e. the page the user will be redirected to after they submit the transition form displayed as a separate page, can now be configured in the workflow management UI.

Parallelization of import & export jobs

Import and export jobs are now parallelized between RabbitMQ consumers. This allowed us to greatly reduce execution times for large files: hundreds of thousands of records can now be imported within mere hours, and exported in about 15 minutes or even quicker.

Use external storage for I/E files

In order to reduce load on Oro application server, an external service such as Gaufrette can be used for storage and processing of import & export files.

Web API

Documentation of all system API resources

We have documented all API resources of both OroCRM and OroPlatform so you can clearly understand what is the purpose of each resource, its parameters, and understand the details of the returned value. This will help you to use our API in the proper way and create optimal integrations with other applications.

Batch request and response for REST API

We have created actions for batch API requests and responses: get_list, update_list, and delete_list. These requests are asynchronously processed via MessageQueue.

They will serve as a cornerstone to more efficient integrations and data synchronization jobs that we will ship in future releases.

Other fixes and improvements

Entity management

Unidirectional relations can now be created via UI

Layouts

Debug data collector for layout actions

All layout actions that can’t be performed are now shown in profiler.

Performance

ContentProviderManager is now loaded lazily to improve performance

A file cache has been added to LocalizatonManager

Improved views initialization