PHPackages                             okvpn/better-oro-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. okvpn/better-oro-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

okvpn/better-oro-bundle
=======================

Performance improve &amp; bugfix for oro-platform

3.1.3(7y ago)481Apache-2.0PHPPHP &gt;=7.0

Since Feb 1Pushed 7y ago1 watchersCompare

[ Source](https://github.com/vtsykun/better-oro-bundle)[ Packagist](https://packagist.org/packages/okvpn/better-oro-bundle)[ Docs](https://github.com/vtsykun/better-oro-bundle)[ RSS](/packages/okvpn-better-oro-bundle/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (6)Dependencies (1)Versions (7)Used By (0)

BetterOroBundle
===============

[](#betterorobundle)

This bundle provide bugfixes and new features for OroPlatform.

Table of Contents
-----------------

[](#table-of-contents)

- [Job logger](#job-logger)
- [Change message priorities](#change-message-priorities)
- [Message send events](#message-send-events)
- [Dump not translated entities](#debug-entity-translations)
- [Command for generate Oro bundle](#generate-bundle)
- [Handle jobs exception](#handle-jobs-exception)
- [Improve cron cleanup](#improve-cron-cleanup)
- [Better log format](#better-log-format)
- [Disable container reset extension](#disable-container-reset-extension)
- [Calendar date duplicate](#calendar-date-duplicate)
- [Disable outgoing network requests by OroCRM Request Form](#disable-orocrm-request-form)
- [Fix order by timePeriod in DateGroupingFilter](#fix-order-by-the-time-period)
- [Manual cron run](#cron-run-in-ui)
- [Show datagrid exception if debug = true](./Datagrid/DataGridExtension.php#L27)
- [Dataaudit improvement](#dataaudit-improvement)

Configurable capabilities
-------------------------

[](#configurable-capabilities)

```
okvpn_better_oro:
    capabilities:
        mq_disable_container_reset: true #Disable container reset extension for performance
        mq_send_events: true #Dispatch sending events & overwrite message priority of queue processing
        mq_log_format: true #User frendly format of MQ logs in console (in tty console)
        cron_fix_cleanup: true #Fix cron definition load command
        job_logs: true #Display job output and errors in UI
        fix_calendar: true #Fix calendar days generator in ReportBunle
```

### Job logger

[](#job-logger)

The job logger provides the ability to display logs in the UI. Usage: inject logger `okvpn.jobs.logger` into your service

Example:

```
class SomeProcessor implements MessageProcessorInterface
{

    /** @var LoggerInterface */
    private $logger;

    /** @var JobRunner */
    private $jobRunner;

    public function __construct(LoggerInterface $logger, JobRunner $jobRunner)
    {
        $this->logger = $logger;
        $this->jobRunner = $jobRunner;
    }

    /**
     * {@inheritdoc}
     */
    public function process(MessageInterface $message, SessionInterface $session)
    {
        $body = JSON::decode($message->getBody());

        $result = $this->jobRunner->runDelayed(
            $body['jobId'],
            function () use ($body) {
                try {
                    $this->logger->info('This logs will display in UI on the given root jobs page.')
                } catch (\Throwable $e) {
                    $this->logger->critical(
                        'An error occupies during job execute'
                        ['e' => $e,] // the full stack trace & exception message will display on the job page.
                    );

                    return false;
                }
            }
        );

        $this->logger->info('This log will not display, because there isn\'t active job');

        return $result ? self::ACK : self::REJECT;
    }
}
```

#### Execute jobs in active transaction

[](#execute-jobs-in-active-transaction)

The log persistence happen in a separate transaction from the process that executes it, so information available to end user thru UI immediately when its created.

### Change message priorities

[](#change-message-priorities)

You can change the predefined message priority. Example:

```
# Resources/config/oro/app.yml
okvpn_better_oro:
    default_priorities:
        oro.importexport.cli_import: 3 # topic_name OR cron_command OR process_definition (from worklfow bundle)
        oro.importexport.pre_cli_import: 3
        oro.importexport.pre_http_import: 3
        oro.importexport.http_import: 3
        oro.importexport.pre_export: 3
        oro.importexport.export: 3
        oro.importexport.post_export: 3
        oro.importexport.send_import_notification: 1
```

PriorityMap0VERY LOW1LOW2MEDIUM3HIGH4VERY HIGH**By default 2**

### Message send events

[](#message-send-events)

```
