Main OroPlatform package with core functionality.
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.
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.
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.
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.
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.
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.
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.
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.
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.
All layout actions that can’t be performed are now shown in profiler.
ContentProviderManager
is now loaded lazily to improve performanceLocalizatonManager