OroCRM is an open source Client Relationship Management (CRM) application

Overview

OroCRM

Scrutinizer Code Quality Travis CI build status

OroCRM is an open source Client Relationship Management (CRM) application that allows to create a 360° view of your customers across multiple channels, organize the sales pipeline, manage account and contact information, communicate with customers, run marketing campaigns and track campaign performance.

OroTeam, the team behind OroCRM, strongly believes that no two business are alike and this is why OroCRM is very flexible and highly customizable application that was adopted in eCommerce, Retail, Financial Services and many other industries.

OroCRM is built in PHP on OroPlatform and Symfony full-stack web framework.

Installation

OroCRM is a composer package that requires an application to initialize and run it. A crm-application is an example of such application which simplifies initial project setup and configuration.

Resources

Comments
  • Currently on 1.10.13, can't upgrade to 2.0.0

    Currently on 1.10.13, can't upgrade to 2.0.0

    Following the instructions: https://github.com/orocrm/crm/blob/master/UPGRADE-2.0.md , when running the replacement step 7: sudo -u www-data php app/console oro:platform:upgrade20 --env=prod --force

    I get the following:

    bitnami@ip-172-31-46-201:~/apps/orocrm/htdocs$ sudo -u bitnami php -d memory_limit=-1 app/console oro:platform:upgrade20 --env=prod --force
                                                                      
      [Symfony\Component\Console\Exception\CommandNotFoundException]  
      Command "oro:platform:upgrade20" is not defined.                
      Did you mean one of these?                                      
          oro:platform:update                                         
          oro:platform:run-script                                     
          oro:platform:optional-listeners                             
                                                                      
    
    

    Should I update the console command? If so, how?.

    Thanks in advance!

    opened by leomasri 21
  • Problem after adding a new entity and trying to import contacts

    Problem after adding a new entity and trying to import contacts

    Hello, i have tried to add couple new entities on Users module and tried to import users from CSV. Import fails and Symfony gets an error:

    batch.ERROR: Encountered an error executing the step: A new entity was found through the relationship 'OroCRM\Bundle\ContactBundle\Entity\Contact#CIty' that was not configured to cascade persist operations for entity: Vilnius. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). [] []

    bug issue fixed 
    opened by shariukas 20
  • Add Extended fields synchronisation during lead conversion. Fix #226

    Add Extended fields synchronisation during lead conversion. Fix #226

    Hi Oro Team,

    This is an attemp in implementing the feature described in #226 Instead of copying only a few specifics fields, between the Lead and Contact, all matching fields will be copied.

    Please review before using,I have not touch the Oro internals, it would be fairly possible that some validation are missing !

    Thanks, Samuel

    cla: yes open for contribution 
    opened by sadortun 19
  • 'firstName' filter is not supported in OroCRM Rest JSON API

    'firstName' filter is not supported in OroCRM Rest JSON API

    When I tested the Oro API in /api/doc/rest_json_api#get--api-contacts I've tried two filters. The first worked well, that is the field 'lastName' (See the image below):

    certo

    But when I change the filter to be 'firstName' (that Oro has a default field from installation), the endpoint not works, giving me an unexpected error (See the image below):

    erro

    How do I, through the Oro REST API, select all contacts filtering by 'firstName'? Is this a bug?

    Thanks!

    question 
    opened by pedrofurtado 18
  • 500 error on updating entity schema

    500 error on updating entity schema

    So I tried to make new entity, added field etc. and run "Update schema" and I get 500 error.

    Which log file would this be saved to? I checked the logs for prod.log and dev.log and the apache log but I can't find any errors.

    In fact this destroys the entire application. I can not go to any report view.

    An urgent fix would be welcome as I need to test the entity system extensively.

    opened by Zyles 17
  • Extending Account entity not saving data

    Extending Account entity not saving data

    I'm trying to extend the Account entity by adding "Account Settings" (like in user) to assign Business Units/Organizations. I have successfully got it to create the DB tables and show under the Account form, but when trying to save it's not storing the selected items. Can some one look at my code and see if I'm missing something:

    <?php
    
    namespace AcmeCRM\Bundle\AccountBundle\Form\Extension;
    
    use Symfony\Component\Form\AbstractTypeExtension;
    use Symfony\Component\Form\FormBuilderInterface;
    
    use Oro\Bundle\SecurityBundle\SecurityFacade;
    
    class AccountTypeExtension extends AbstractTypeExtension
    {
        /** @var SecurityFacade */
        protected $securityFacade;
    
        /**
         * @param SecurityFacade $securityFacade
         */
        public function __construct(SecurityFacade $securityFacade)
        {
            $this->securityFacade = $securityFacade;
        }
    
        /**
         * {@inheritdoc}
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            // get additional field(s)
            $additionalFieldBuilder = $builder->get('additional');
    
            // check if your custom field exists.
            if ($additionalFieldBuilder->has('organizations')) {
                // remove your custom field.
                $additionalFieldBuilder->remove('organizations');
            }
    
            /**
             * add the custom fields to the "general section of the Account form"
             * use the normal $builder->add() like you would with any form
             */
            if ($this->securityFacade->isGranted('oro_organization_view')
                && $this->securityFacade->isGranted('oro_business_unit_view')
            ) {
                $builder->add(
                    'organizations',
                    'oro_organizations_select',
                    array(
                        'required' => false,
                    )
                );
            }
        }
    
        /**
         * {@inheritdoc}
         */
        public function getExtendedType()
        {
            return 'orocrm_account';
        }
    }
    
    <?php
    
    namespace AcmeCRM\Bundle\AccountBundle\Migrations\Schema\v1_0;
    
    use Doctrine\DBAL\Schema\Schema;
    
    use Oro\Bundle\EntityExtendBundle\EntityConfig\ExtendScope;
    use Oro\Bundle\EntityExtendBundle\Migration\Extension\ExtendExtension;
    use Oro\Bundle\EntityExtendBundle\Migration\Extension\ExtendExtensionAwareInterface;
    use Oro\Bundle\EntityExtendBundle\Tools\ExtendHelper;
    use Oro\Bundle\MigrationBundle\Migration\Migration;
    use Oro\Bundle\MigrationBundle\Migration\QueryBag;
    
    class AcmeCRMAccountBundle implements Migration, ExtendExtensionAwareInterface
    {
        /** @var ExtendExtension */
        protected $extendExtension;
    
        /**
         * {@inheritdoc}
         */
        public function setExtendExtension(ExtendExtension $extendExtension)
        {
            $this->extendExtension = $extendExtension;
        }
    
        /**
         * {@inheritdoc}
         */
        public function up(Schema $schema, QueryBag $queries)
        {
            $accountTable      = $schema->getTable('orocrm_account');
            $businessUnitTable = $schema->getTable('oro_business_unit');
            $organizationTable = $schema->getTable('oro_organization');
    
            $this->extendExtension->addManyToManyRelation(
                $schema,
                $accountTable,
                'businessUnits',
                $businessUnitTable,
                ['id'],
                ['id'],
                ['id'],
                [
                    'extend' => [
                        'without_default' => true
                    ]
                ]
            );
    
            $this->extendExtension->addManyToManyRelation(
                $schema,
                $accountTable,
                'organizations',
                $organizationTable,
                ['id'],
                ['id'],
                ['id'],
                [
                    'extend' => [
                        'without_default' => true
                    ]
                ]
            );
        }
    }
    
    # services.yml:
    
    parameters:
        acmecrm_account.account.form.extension.class: AcmeCRM\Bundle\AccountBundle\Form\Extension\AccountTypeExtension
    
    services:
        acmecrm_account.account.form.extension:
            class: %acmecrm_account.account.form.extension.class%
            arguments: ["@oro_security.security_facade"]
            tags:
                - { name: form.type_extension, alias: orocrm_account }
    
    {# update.html.twig #}
    {# .... #}
    
        {% if form.organizations is defined %}
            {% set dataBlocks = dataBlocks|merge( [{
                'title': 'Access Settings'|trans,
                'subblocks': [{
                    'title': '',
                    'useSpan': false,
                    'data': [form_row(form.organizations)]
                }]
            }] ) %}
        {% endif %}
    
    {# .... #}
    
    opened by excelwebzone 15
  • Define Oro Contact 'firstName' field as filter and sorter in OroCRM JSON API, to be compatible with Brazilian use of names

    Define Oro Contact 'firstName' field as filter and sorter in OroCRM JSON API, to be compatible with Brazilian use of names

    Based on #306 .

    In Brazil, it's very common to search, filter and sort the contacts by first name. Because of that, Oro should be compatible with this type of use of names. I've created a micro bundle for this (https://github.com/pedrofurtado/orocrm-firstname-api-bundle), but it's much better if this feature is included by default in OroCRM.

    Thanks!

    enhancement cla: yes 
    opened by pedrofurtado 13
  • Upgrade to  Version 1.10

    Upgrade to Version 1.10

    I try to change my orocrm version from 8.2 to 10 so follow this link https://www.orocrm.com/documentation/index/current/cookbook/how-to-upgrade-to-new-version All thing was OK until I run : $ sudo -u www-data php app/console oro:platform:update --env prod --force in middle of migration I get below error: . . . .

    OroCRM\Bundle\CaseBundle\Migrations\Schema\v1_8\CreateActivityAssociation Oro\CRMCallBridgeBundle\Migrations\Schema\OroCRMCallBridgeBundleInstaller Oro\CRMTaskBundle\Migrations\Schema\OroCRMTaskBundleInstaller Oro\Bundle\MigrationBundle\Migration\UpdateBundleVersionMigration Oro\Bundle\EntityExtendBundle\Migration\RefreshExtendCacheMigration

    [ErrorException]
    Catchable Fatal Error: Argument 1 passed to Oro\Bundle\ConfigBundle\Config\AbstractScopeManager::__construct() must implement interface Doctrine\Common\Persistence\ManagerRegistry, instance of Oro\Bundle\EntityBundle\ORM\OroEntityManager given, called in /home/golriz/public_html/app/cache/prod/appProdProjectContainer.php on line 140 and defined in /home/golriz/public_html/vendor/oro/platform/src/Oro/Bundle/ConfigBundle/Config/AbstractScopeManager.php on line 31


    could you help ?

    bug feedback needed 
    opened by golrizSayeh 13
  • Failed migrations: Oro\Bundle\OrganizationBundle\Migrations\Schema\v1_2\OroOrganizationBundle

    Failed migrations: Oro\Bundle\OrganizationBundle\Migrations\Schema\v1_2\OroOrganizationBundle

    Hi,

    I was upgrading from v1.2 to v1.8.1, a lot of migrations are OK but it fails on this one:

     Failed migrations: Oro\Bundle\OrganizationBundle\Migrations\Schema\v1_2\OroOrganizationBundle.
    

    Link to the file on github: https://github.com/orocrm/platform/blob/master/src/Oro/Bundle/OrganizationBundle/Migrations/Schema/v1_2/OroOrganizationBundle.php

    Even with the option -vvv I have no clue at all on the issue. Did someone already got this issue? How can I move forward on this? The application is not working anymore of course...

    Thanks!

    bug open for contribution 
    opened by winzou 13
  • OROCRM background tasks not running

    OROCRM background tasks not running

    I have an installation of OROCRM working on an Amazon Lightsail VPS. Everything works except the background tasks like imports, email sync, etc.

    I have installed supervisor with the following scripts

    [program:orocrm_web_socket]
    command=php /var/www/html/crm/app/console clank:server --env=prod
    numprocs=1
    autostart=true
    startsecs=0
    user=www-data
    redirect_stderr=true
    stderr_logfile=/var/log/oroscript.err.log
    stdout_logfile=/var/log/oroscript.out.log
    
    [program:orocrm_message_consumer]
    command=php /var/www/html/crm/app/console oro:message-queue:consume --env=prod
    process_name=%(program_name)s_%(process_num)02d
    numprocs=5
    autostart=true
    autorestart=true
    startsecs=0
    user=www-data
    redirect_stderr=true
    stderr_logfile=/var/log/oroscript.err.log
    stdout_logfile=/var/log/oroscript.out.log
    

    I was being forced to use Supervisor with sudo and I have solved that with the chown in supervisord.conf

    [unix_http_server]
    file=/var/run/supervisor.sock   ; (the path to the socket file)
    chmod=0700                       ; sockef file mode (default 0700)
    chown=ubuntu:ubuntu
    

    Now I see that the commands are also working

    ubuntu@ip-XXX-XXX-XX-XX:/var/www/html/crm$ supervisorctl
    orocrm_message_consumer:orocrm_message_consumer_00   RUNNING   pid 32426, uptime 0:00:05
    orocrm_message_consumer:orocrm_message_consumer_01   RUNNING   pid 32430, uptime 0:00:05
    orocrm_message_consumer:orocrm_message_consumer_02   RUNNING   pid 32442, uptime 0:00:03
    orocrm_message_consumer:orocrm_message_consumer_03   RUNNING   pid 32434, uptime 0:00:04
    orocrm_message_consumer:orocrm_message_consumer_04   RUNNING   pid 32441, uptime 0:00:04
    orocrm_web_socket                                    RUNNING   pid 23408, uptime 1 day, 7:59:41
    supervisor>
    

    My Websocket configuation is as follows:

    parameters:
        websocket_bind_address: 127.0.0.1
        websocket_bind_port: 8080
        websocket_frontend_host: 127.0.0.1
        websocket_frontend_port: 8080
        websocket_backend_host: 127.0.0.1
        websocket_backend_port: 8080
        web_backend_prefix: ''
    

    But on the oroinstallation.com/contact page I see the following error on the top: Synchronizer can't connect to server. Please contact your Administrator.

    and the console shows: oro.min.js?version=d64922dd:1482 WebSocket connection to 'ws://127.0.0.1:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

    When I try to validate a contacts import csv I get the message that I will receive an email on complete. I dont. When I try to import a contacts import csv I get the message that I will receive an email on complete. I dont.

    In the System > Jobs I see the following:

    oro:import:http:oro_contact.add_or_replace:oro.58e012490.82911716             Cancelled     100%
    oro:import:http:oro_contact.add_or_replace:oro.58e7ef109.20870136             Cancelled     100%
    oro:import_validation:http:oro_contact.add_or_replace:oro.58e6b6dd1.33521527  Success       100%
    oro.importexport.export_oro_contact	                                      Success       100%
    oro:cron:run_command:oro:cron:imap-sync                                       Success       100%
    oro:cron:run_command:oro:cron:send-email-campaigns                            Success       100%
    

    When I do an import it shows up in the Jobs as RUNNING and stuck at 33% unless I click interupt and then it becomes CANCELLED at 100%

    I've tried being very detailed about the problem, please let me know if there's any other information you need to help me debug this.

    Thanks!

    question 
    opened by kusgpt26 12
  • make it possible to disable Bundles

    make it possible to disable Bundles

    This requires some config option for the crm-application to add a black list of Bundles. however more fundamentally it needs some work on removing hardcoded dependencies. But the goal would be to be able to disable the demo data bundle, the magento bundle etc. even to the point of being able to disable the sales bundle.

    opened by lsmith77 12
  • OroCRM5.0 At least one folder for sent emails is required. Make sure you clicked button

    OroCRM5.0 At least one folder for sent emails is required. Make sure you clicked button "Check connection/Retrieve folders" and there are some folders for incoming messages.

    Summary
    I tried setting up synchronizing my gmail to the orocrm but I keep getting the issue below and I am having hard time troubleshooting it.

    "At least one folder for sent emails is required. Make sure you clicked button "Check connection/Retrieve folders" and there are some folders for incoming messages."

    Steps to reproduce
    When Clicking the "Cjheck Conneciton/Retrieve Folders" It is successfully connected on both imap and smtp

    Actual Result When saving it the error message occurs.

    Expected Result

    Details about your environment

    • OroCRM version: 5.0
    • PHP version: 8.1.7
    • Database (MySQL, PostgreSQL) version

    Additional information
    image

    opened by nix112691 0
  • OROCRM demo data import error

    OROCRM demo data import error

    When trying to import the demo data, I get the following error: php bin/console oro:migration:data:load --fixtures-type=demo --env=prod

    In LoadTransportData.php line 9:

    Attempted to load class "AbstractZendeskFixture" from namespace "Oro\Bundle
    \ZendeskBundle\Tests\Functional\DataFixtures".
    Did you forget a "use" statement for "Oro\Bundle\ZendeskBundle\Tests\Functi
    onal\DataFixtures\AbstractZendeskFixture"?

    System works fine. Just demo import fails to install.

    Software System: Symfony Cli version 4.28.1 NodeJS 16.15.0 Composer 2.2.6 MySQL 8.0.29 npm 8.5.1 PHP 8.1.2 Ubuntu 22.04.2

    OREOCRM packages:

    oro/api-doc-bundle | 2.0.0 | MIT -- | -- | -- oro/calendar-bundle | 5.0.2 | MIT oro/crm | 5.0.3 | OSL-3.0 oro/crm-call-bundle | 5.0.1 | OSL-3.0 oro/crm-dotmailer | 5.0.0 | OSL-3.0 oro/crm-hangouts-call-bundle | 5.0.2 | OSL-3.0 oro/crm-task-bundle | 5.0.2 | OSL-3.0 oro/crm-zendesk | 5.0.0 | OSL-3.0 oro/doctrine-extensions | 2.0.1 | MIT oro/marketing | 5.0.2 | OSL-3.0 oro/oauth2-server | 5.0.2 | MIT oro/platform | 5.0.4 | MIT oro/platform-serialised-fields | 5.0.1 | OSL-3.0 oro/redis-config | 5.0.2 | MIT oro/twig-inspector | 1.0.3 | MIT

    OROCRM 3rd party packages:

    ss/xmlsecurity | v1.1.1 | BSD-3-Clause -- | -- | -- behat/behat | v3.10.0 | MIT behat/gherkin | v4.9.0 | MIT behat/mink | v1.9.0 | MIT behat/mink-selenium2-driver | v1.5.0 | MIT behat/transliterator | v1.5.0 | Artistic-1.0 box/spout | v3.3.0 | Apache-2.0 brick/math | 0.9.3 | MIT cboden/ratchet | v0.4.4 | MIT clue/stream-filter | v1.6.0 | MIT composer/ca-bundle | 1.3.1 | MIT composer/composer | 2.2.12 | MIT composer/metadata-minifier | 1.0.0 | MIT composer/package-versions-deprecated | 1.11.99.5 | MIT composer/pcre | 1.0.1 | MIT composer/semver | 3.3.2 | MIT composer/spdx-licenses | 1.5.6 | MIT composer/xdebug-handler | 2.0.5 | MIT container-interop/container-interop | 1.2.0 | MIT defuse/php-encryption | v2.3.1 | MIT doctrine/annotations | 1.13.2 | MIT doctrine/cache | 2.1.1 | MIT doctrine/collections | 1.6.8 | MIT doctrine/common | 3.3.0 | MIT doctrine/data-fixtures | 1.5.3 | MIT doctrine/dbal | 2.13.7 | MIT doctrine/deprecations | v0.5.3 | MIT doctrine/doctrine-bundle | 2.5.7 | MIT doctrine/doctrine-fixtures-bundle | 3.4.1 | MIT doctrine/event-manager | 1.1.1 | MIT doctrine/inflector | 2.0.4 | MIT doctrine/instantiator | 1.4.1 | MIT doctrine/lexer | 1.2.3 | MIT doctrine/orm | 2.10.2 | MIT doctrine/persistence | 2.3.0 | MIT doctrine/sql-formatter | 1.1.2 | MIT dragonmantank/cron-expression | v3.1.0 | MIT egulias/email-validator | 3.1.2 | MIT evenement/evenement | v3.0.1 | MIT ezyang/htmlpurifier | v4.14.0 | LGPL-2.1-or-later fakerphp/faker | v1.19.0 | MIT friends-of-behat/mink-extension | v2.5.0 | MIT friends-of-behat/symfony-extension | v2.2.1 | MIT friendsofphp/php-cs-fixer | v3.4.0 | MIT friendsofphp/proxy-manager-lts | v1.0.7 | MIT friendsofsymfony/jsrouting-bundle | 2.7.0 | MIT friendsofsymfony/rest-bundle | 3.0.5 | MIT gedmo/doctrine-extensions | v3.5.0 | MIT gos/pubsub-router-bundle | v2.7.1 | MIT gos/web-socket-bundle | v3.14.0 | MIT gos/websocket-client | v1.5.0 | MIT guzzlehttp/guzzle | 7.4.2 | MIT guzzlehttp/promises | 1.5.1 | MIT guzzlehttp/psr7 | 1.8.5 | MIT hwi/oauth-bundle | 1.4.5 | MIT imagine/imagine | 1.3.2 | MIT incenteev/composer-parameter-handler | v2.1.4 | MIT instaclick/php-webdriver | 1.4.14 | Apache-2.0 johnkary/phpunit-speedtrap | v4.0.0 | MIT justinrainbow/json-schema | 5.2.12 | MIT knplabs/gaufrette | v0.10.0 | MIT knplabs/knp-gaufrette-bundle | v0.7.2 | MIT knplabs/knp-menu | v3.3.0 | MIT knplabs/knp-menu-bundle | v3.2.0 | MIT kriswallsmith/buzz | 1.2.1 | MIT laminas/laminas-code | 4.5.1 | BSD-3-Clause laminas/laminas-loader | 2.8.0 | BSD-3-Clause laminas/laminas-mail | 2.16.0 | BSD-3-Clause laminas/laminas-mime | 2.9.1 | BSD-3-Clause laminas/laminas-stdlib | 3.7.1 | BSD-3-Clause laminas/laminas-validator | 2.17.0 | BSD-3-Clause lcobucci/clock | 2.2.0 | MIT lcobucci/jwt | 4.1.5 | BSD-3-Clause league/event | 2.2.0 | MIT league/oauth2-server | 8.3.4 | MIT league/uri | 6.5.0 | MIT league/uri-interfaces | 2.3.0 | MIT liip/imagine-bundle | 2.7.6 | MIT matomo/device-detector | 5.0.5 | LGPL-3.0-or-later michelf/php-markdown | 1.9.1 | BSD-3-Clause monolog/monolog | 2.3.5 | MIT mustangostang/spyc | 0.6.3 | MIT myclabs/deep-copy | 1.10.3 | MIT nelmio/alice | v3.9.0 | MIT nelmio/security-bundle | v2.10.3 | MIT nesbot/carbon | 2.55.2 | MIT nette/php-generator | v3.6.7 | BSD-3-Clause GPL-2.0-only GPL-3.0-only nette/utils | v3.2.7 | BSD-3-Clause GPL-2.0-only GPL-3.0-only nikic/php-parser | v4.13.2 | BSD-3-Clause paragonie/random_compat | v9.99.100 | MIT pdepend/pdepend | 2.10.3 | BSD-3-Clause phar-io/manifest | 2.0.3 | BSD-3-Clause phar-io/version | 3.2.1 | BSD-3-Clause php-cs-fixer/diff | v2.0.2 | BSD-3-Clause php-http/client-common | 2.5.0 | MIT php-http/discovery | 1.14.1 | MIT php-http/httplug | 2.3.0 | MIT php-http/httplug-bundle | 1.25.0 | MIT php-http/logger-plugin | 1.3.0 | MIT php-http/message | 1.13.0 | MIT php-http/message-factory | v1.0.2 | MIT php-http/promise | 1.1.0 | MIT php-http/stopwatch-plugin | 1.4.1 | MIT phpdocumentor/reflection-common | 2.2.0 | MIT phpdocumentor/reflection-docblock | 5.3.0 | MIT phpdocumentor/type-resolver | 1.6.1 | MIT phpmd/phpmd | 2.11.1 | BSD-3-Clause phpspec/prophecy | v1.15.0 | MIT phpunit/php-code-coverage | 9.2.15 | BSD-3-Clause phpunit/php-file-iterator | 3.0.6 | BSD-3-Clause phpunit/php-invoker | 3.1.1 | BSD-3-Clause phpunit/php-text-template | 2.0.4 | BSD-3-Clause phpunit/php-timer | 5.0.3 | BSD-3-Clause phpunit/phpunit | 9.5.13 | BSD-3-Clause predis/predis | v1.1.10 | MIT psr/cache | 2.0.0 | MIT psr/container | 1.1.2 | MIT psr/event-dispatcher | 1.0.0 | MIT psr/http-client | 1.0.1 | MIT psr/http-factory | 1.0.1 | MIT psr/http-message | 1.0.1 | MIT psr/link | 1.1.1 | MIT psr/log | 1.1.4 | MIT psr/simple-cache | 3.0.0 | MIT ralouphie/getallheaders | 3.0.3 | MIT ratchet/rfc6455 | v0.3.1 | MIT react/cache | v1.1.1 | MIT react/dns | v1.9.0 | MIT react/event-loop | v1.3.0 | MIT react/promise | v2.9.0 | MIT react/promise-timer | v1.8.0 | MIT react/socket | v1.11.0 | MIT react/stream | v1.2.0 | MIT romanpitak/dotmailer-api-v2-client | 4.2.0 | MIT romanpitak/php-rest-client | v1.2.1 | MIT salsify/json-streaming-parser | v8.2.0 | MIT sebastian/cli-parser | 1.0.1 | BSD-3-Clause sebastian/code-unit | 1.0.8 | BSD-3-Clause sebastian/code-unit-reverse-lookup | 2.0.3 | BSD-3-Clause sebastian/comparator | 4.0.6 | BSD-3-Clause sebastian/complexity | 2.0.2 | BSD-3-Clause sebastian/diff | 4.0.4 | BSD-3-Clause sebastian/environment | 5.1.4 | BSD-3-Clause sebastian/exporter | 4.0.4 | BSD-3-Clause sebastian/global-state | 5.0.5 | BSD-3-Clause sebastian/lines-of-code | 1.0.3 | BSD-3-Clause sebastian/object-enumerator | 4.0.4 | BSD-3-Clause sebastian/object-reflector | 2.0.4 | BSD-3-Clause sebastian/phpcpd | 6.0.3 | BSD-3-Clause sebastian/recursion-context | 4.0.4 | BSD-3-Clause sebastian/resource-operations | 3.0.3 | BSD-3-Clause sebastian/type | 2.3.4 | BSD-3-Clause sebastian/version | 3.0.2 | BSD-3-Clause seld/jsonlint | 1.9.0 | MIT seld/phar-utils | 1.2.0 | MIT sensio/framework-extra-bundle | v6.2.6 | MIT snc/redis-bundle | 3.6.0 | MIT squizlabs/php_codesniffer | 3.6.2 | BSD-3-Clause stella-maris/clock | 0.1.4 | MIT stof/doctrine-extensions-bundle | v1.7.0 | MIT symfony/acl-bundle | v2.2.0 | MIT symfony/asset | v5.4.7 | MIT symfony/browser-kit | v5.4.3 | MIT symfony/cache | v5.4.3 | MIT symfony/cache-contracts | v2.5.1 | MIT symfony/config | v5.4.7 | MIT symfony/console | v5.4.3 | MIT symfony/css-selector | v5.4.3 | MIT symfony/debug-bundle | v5.4.3 | MIT symfony/dependency-injection | v5.4.3 | MIT symfony/deprecation-contracts | v2.5.1 | MIT symfony/doctrine-bridge | v5.4.3 | MIT symfony/dom-crawler | v5.4.6 | MIT symfony/error-handler | v5.4.7 | MIT symfony/event-dispatcher | v5.4.3 | MIT symfony/event-dispatcher-contracts | v2.5.1 | MIT symfony/expression-language | v5.4.7 | MIT symfony/filesystem | v5.4.3 | MIT symfony/finder | v5.4.3 | MIT symfony/form | v5.4.3 | MIT symfony/framework-bundle | v5.4.4 | MIT symfony/http-client | v5.4.3 | MIT symfony/http-client-contracts | v2.5.1 | MIT symfony/http-foundation | v5.4.3 | MIT symfony/http-kernel | v5.4.4 | MIT symfony/intl | v5.4.3 | MIT symfony/lock | v5.4.3 | MIT symfony/mailer | v5.4.3 | MIT symfony/mime | v5.4.7 | MIT symfony/monolog-bridge | v5.4.3 | MIT symfony/monolog-bundle | v3.7.1 | MIT symfony/options-resolver | v5.4.3 | MIT symfony/password-hasher | v5.4.3 | MIT symfony/phpunit-bridge | v5.4.7 | MIT symfony/polyfill-ctype | v1.24.0 | MIT symfony/polyfill-intl-grapheme | v1.25.0 | MIT symfony/polyfill-intl-icu | v1.25.0 | MIT symfony/polyfill-intl-idn | v1.25.0 | MIT symfony/polyfill-intl-normalizer | v1.25.0 | MIT symfony/polyfill-mbstring | v1.25.0 | MIT symfony/polyfill-php70 | v1.20.0 | MIT symfony/polyfill-php72 | v1.25.0 | MIT symfony/polyfill-php73 | v1.25.0 | MIT symfony/polyfill-php80 | v1.25.0 | MIT symfony/polyfill-php81 | v1.25.0 | MIT symfony/process | v5.4.3 | MIT symfony/property-access | v5.4.3 | MIT symfony/property-info | v5.4.7 | MIT symfony/proxy-manager-bridge | v5.4.6 | MIT symfony/psr-http-message-bridge | v2.1.2 | MIT symfony/requirements-checker | v2.0.1 | MIT symfony/routing | v5.4.3 | MIT symfony/security-acl | v3.2.0 | MIT symfony/security-bundle | v5.4.3 | MIT symfony/security-core | v5.4.3 | MIT symfony/security-csrf | v5.4.3 | MIT symfony/security-guard | v5.4.3 | MIT symfony/security-http | v5.4.3 | MIT symfony/serializer | v5.4.3 | MIT symfony/service-contracts | v2.5.1 | MIT symfony/stopwatch | v5.4.5 | MIT symfony/string | v5.4.3 | MIT symfony/templating | v5.4.3 | MIT symfony/translation | v5.4.3 | MIT symfony/translation-contracts | v2.5.1 | MIT symfony/twig-bridge | v5.4.3 | MIT symfony/twig-bundle | v5.4.3 | MIT symfony/validator | v5.4.3 | MIT symfony/var-dumper | v5.4.6 | MIT symfony/var-exporter | v5.4.7 | MIT symfony/web-link | v5.4.3 | MIT symfony/web-profiler-bundle | v5.4.6 | MIT symfony/yaml | v5.4.3 | MIT theofidry/alice-data-fixtures | 1.4.0 | MIT theseer/tokenizer | 1.2.1 | BSD-3-Clause twig/twig | v3.3.10 | BSD-3-Clause ua-parser/uap-php | v3.9.14 | MIT webmozart/assert | 1.10.0 | MIT willdurand/jsonp-callback-validator | v1.1.0 | MIT willdurand/negotiation | 3.1.0 | MIT xemlock/htmlpurifier-html5 | v0.1.10 | MIT

    bug scheduled for implementation 
    opened by fenzimediagroup 1
  • Installer doesn't accept database configuration

    Installer doesn't accept database configuration

    Summary
    I've tried manually configuring the platform and installing via composer. I also tried utilizing the vagrant setup file. The Vagrant file had incompatible versions of php and node but even after fixing those issues I encountered the same problem as doing the manual setup. Regardless of the setting in the parameters.yml file the installer reports that the Database if not configured and refuses to go further.

    Steps to reproduce
    Install the ORO-CRM community Edition

    Actual Result Will not install

    Expected Result
    Should install

    Details about your environment

    • OroCRM version: 5.0.0
    • PHP version: 8.1
    • Database (MySQL, PostgreSQL) version MySQLcode

    Additional information

    Installing Oro Application.
    
    Check system requirements
    +---------+---------------------------------------------------------------------------------------------------------------------------------------------------+
    | Check   | Mandatory requirements                                                                                                                            |
    +---------+---------------------------------------------------------------------------------------------------------------------------------------------------+
    | OK      | /tmp (sys_get_temp_dir()) directory must be writable                                                                                              |
    | OK      | Vendor libraries must be installed                                                                                                                |
    | OK      | iconv() must be available                                                                                                                         |
    | OK      | pcntl_signal() must be available                                                                                                                  |
    | OK      | json_encode() must be available                                                                                                                   |
    | OK      | session_start() must be available                                                                                                                 |
    | OK      | ctype_alpha() must be available                                                                                                                   |
    | OK      | token_get_all() must be available                                                                                                                 |
    | OK      | simplexml_import_dom() must be available                                                                                                          |
    | OK      | PDO should be installed                                                                                                                           |
    | OK      | Configured default timezone "UTC" must be supported by your installation of PHP                                                                   |
    | OK      | var/cache directory must be writable                                                                                                              |
    | OK      | var/logs directory must be writable                                                                                                               |
    | OK      | Maximum supported filename length must be greater or equal 242 characters. Make sure that the cache folder is not inside the encrypted directory. |
    +---------+---------------------------------------------------------------------------------------------------------------------------------------------------+
    +---------+--------------------------------------------+
    | Check   | PHP settings                               |
    +---------+--------------------------------------------+
    | OK      | memory_limit should be at least 512M       |
    | OK      | detect_unicode must be disabled in php.ini |
    | OK      | string functions should not be overloaded  |
    +---------+--------------------------------------------+
    +---------+------------------------------------------------------------------------------+
    | Check   | Oro specific requirements                                                    |
    +---------+------------------------------------------------------------------------------+
    | OK      | PHP version must be at least 8.0 (8.1.3 installed)                           |
    | OK      | GD extension must be at least 2.0                                            |
    | OK      | cURL extension must be at least 7.0                                          |
    | OK      | openssl_encrypt() should be available                                        |
    | OK      | intl extension should be available                                           |
    | OK      | zip extension should be installed                                            |
    | OK      | NodeJS is installed                                                          |
    | OK      | NodeJS ">=14 <17" version must be installed.                                 |
    | OK      | NPM is installed                                                             |
    | ERROR   | Database connection is not configured                                        |
    | OK      | public/media directory must be writable                                      |
    | OK      | public/bundles directory must be writable                                    |
    | OK      | var/data directory must be writable                                          |
    | OK      | public/js directory must be writable                                         |
    | OK      | config/parameters.yml directory must be writable                             |
    | OK      | iconv() must not return the false result on converting string "check string" |
    +---------+------------------------------------------------------------------------------+
    +---------+------------------------------------------------------------------------------------------------------------------+
    | Check   | Optional recommendations                                                                                         |
    +---------+------------------------------------------------------------------------------------------------------------------+
    | OK      | Current version 66.1 of the ICU library should meet the requirements                                             |
    | OK      | SOAP extension should be installed (API calls)                                                                   |
    | OK      | Tidy extension should be installed to make sure that any HTML is correctly converted into a text representation. |
    | WARNING | Disable Phar extension to reduce the risk of PHP unserialization vulnerability.                                  |
    | OK      | IMAP extension should be installed for valid email processing on IMAP sync.                                      |
    | OK      | PHP-DOM and PHP-XML modules should be installed                                                                  |
    | OK      | mb_strlen() should be available                                                                                  |
    | OK      | utf8_decode() should be available                                                                                |
    | OK      | filter_var() should be available                                                                                 |
    | OK      | posix_isatty() should be available                                                                               |
    | OK      | a PHP accelerator should be installed                                                                            |
    | OK      | Library `jpegoptim` is installed                                                                                 |
    | OK      | Library `pngquant` is installed                                                                                  |
    | OK      | xdebug.max_nesting_level should be above 100 in php.ini                                                          |
    | OK      | intl.error_level should be 0 in php.ini                                                                          |
    | OK      | short_open_tag should be disabled in php.ini                                                                     |
    | OK      | magic_quotes_gpc should be disabled in php.ini                                                                   |
    | OK      | register_globals should be disabled in php.ini                                                                   |
    | OK      | session.auto_start should be disabled in php.ini                                                                 |
    | WARNING | To get the latest internationalization data upgrade the ICU system package and the intl PHP extension.           |
    +---------+------------------------------------------------------------------------------------------------------------------+
    Found 1 not fulfilled requirement
    The command terminated with an exit code: 1.
    

    paramters.yml

    # This file is auto-generated during the composer install
    parameters:
        database_driver: pdo_mysql
        database_host: '%env(ORO_DB_HOST)%'
        database_port: '%env(ORO_DB_PORT)%'
        database_name: '%env(ORO_DB_NAME)%'
        database_user: '%env(ORO_DB_USER)%'
        database_password: '%env(ORO_DB_PASSWORD)%'
        database_server_version: '%env(ORO_DB_VERSION)%'
        database_driver_options: {  }
        mailer_dsn: '%env(ORO_MAILER_DSN)%'
        websocket_bind_address: 0.0.0.0
        websocket_bind_port: 8080
        websocket_frontend_host: '*'
        websocket_frontend_port: 443
        websocket_frontend_path: 'ws'
        websocket_backend_host: '*'
        websocket_backend_port: 8080
        websocket_backend_path: ''
        websocket_backend_transport: tcp
        websocket_backend_ssl_context_options: {  }
        web_backend_prefix: ''
        session_handler: session.handler.native_file
        secret: '%env(ORO_SECRET)%'
        installed: null
        message_queue_transport: dbal
        message_queue_transport_config: null
        deployment_type: null
        liip_imagine.jpegoptim.binary: null
        liip_imagine.pngquant.binary: null
        env(ORO_DB_HOST): 127.0.0.1
        env(ORO_DB_PORT): 3306
        env(ORO_DB_NAME): oro_crm
        env(ORO_DB_USER): ****************
        env(ORO_DB_PASSWORD): *******************
        env(ORO_DB_VERSION): null
        env(ORO_MAILER_DSN): 'native://default'
        env(ORO_SECRET): **********************************
    
    opened by bardolf69 7
  • OROCRM - Date selection - year dropdown only shows one year in the future

    OROCRM - Date selection - year dropdown only shows one year in the future

    Summary
    I've added a new field to the Accounts bundle with type = date. When I populate this field from the Edit Account form, the dropdown for the year selection shows many years in the past but only one year in the future. I need to be able to select several years in the future for this specific field.

    How do I fix this?

    Steps to reproduce
    Entity Management >> Accounts Bundle Add new field with type = Date Populate the new date field from the Edit Accounts form Select the year dropdown box

    Actual Result Only shows one year in the future and several dozen years in the past

    Expected Result
    should show more future years in the dropdown

    Details about your environment

    • OroCRM version: 4.2.9
    • PHP version: 8.0
    • Database (MySQL) version: 8.0.23
    • Server Operating system: Ubuntu 64-bit 20.04
    Screen Shot 2022-01-17 at 9 34 59 AM
    opened by mtrayn01 0
  •  ChangeSetToAuditFieldsConverter.php line 127: Notice Array to string conversion

    ChangeSetToAuditFieldsConverter.php line 127: Notice Array to string conversion

    I have the latest orocrm installed, and the message consumer is crashing when an email comes in...

    [desertvalley@vegas crm]$ ./bin/console oro:message-queue:consume --memory-limit=700
    2021-04-27 06:08:52 consumer.ERROR: Consuming interrupted by exception. "Notice: Array to string conversion" ["exception" => ErrorException { …}] ["processor" => "Oro\Bundle\DataAuditBundle\Async\AuditChangedEntitiesProcessor","message_id" => "oro.6087a843a697c0.35762047","message_body" =>...  bunchas of crapp about whats in the data structure]
    
    In ChangeSetToAuditFieldsConverter.php line 127:
                                          
      Notice: Array to string conversion  
                                          
    
    opened by itsnotyoutoday 1
Releases(2.0.6)
  • 2.0.6(Apr 14, 2017)

    List of fixed issues and improvements

    • Improved email sync performance
    • Fixed edit recurring event exception on activity list triggers error
    • Fixed upgrade from 1.12 to 2.0 version due to Data audit migration
    • Fixed upgrade from 1.12 to 2.0 version due to Business Customers migration
    • Fixed upgrade from 1.12 to 2.0 version due to Translations migration
    • Fixed converted Magento Card status should be corrected
    • Fixed Customers/ Business Customers LTSV update is available via inline editing + Internal Server Error
    • Fixed Menu settings could be changed by editing menu settings of another org
    • Fixed incorrect behavior of displaying recurrent events after deleting one from the chain
    • Fixed exception on emails global search
    • Fixed unusable autocomplete account fields
    Source code(tar.gz)
    Source code(zip)
  • 2.0.5(Apr 14, 2017)

    List of fixed issues and improvements

    • Fixed notice is occurred on each navigation action
    • Fixed incorrect handling of multi-select type fields on any view page
    • Fixed impossible to install Oro products
    • Fixed absent "Channel" field in created via API Magento Customer
    • Fixed Business Units may be removed with mass delete
    • Fixed async import processor fails if file was removed
    • Fixed PHP error during setup Chart Designer in Report manager
    • Fixed a lot of duplicate messages for update email owner associations
    • Fixed export functionality
    • Fixed system Email Mailbox doesn't convert to Lead
    • Updated Job Execution documentation in the Oro Book
    • Added complex index to data audit table
    • Fixed error with namespace after upgrade app from 1.12 to 2.0
    • Fixed Calendar Events created via Outlook Add-in are forbidden for creator
    • Fixed resetting grid filters after changing their current state
    • Fixed error when deleting email/phone for Contact by inline editing
    • Fixed 500 Internal Server Error when creating user via API
    • Fixed Incorrect behavior of ESC button during the inline editing of date fields
    • Fixed error when reloading grid after ACL changes
    • Fixed Magento integration does not work and no errors are occurred
    • Fixed Lost default sort order for Accounts grid
    • Fixed Opportunity changes when submit form without new data
    • Fixed UI artifacts in Place Magento Order iframe
    • Fixed mistake in message when opportunity grid contains no records
    • Fixed Accounts and Customers are not created during Magento sync
    • Fixed Management Console > Reports & Segments > Leads > Leads By Geography > Appears js error when clicking to edit item
    • Fixed Magento synchronization fails with fatal errors
    • Fixed data audit fails with fatal after Magento synchronization
    • Fixed Zendesk integration owner cannot loging to OroCRM
    • Fixed Create Magento order transition do not work
    • Fixed Incorrect behavior of Marketing List when new entity is created in the system
    • Fixed Slow Ecommerce widget leads to 40 seconds login
    • Fxied Slow deletion or impossible to delete Magento channel
    • Fxied Slow My Sales Flow B2C widget
    • Fixed do not skip Magento customers if some data is not matched to Oro
    • Fxied Incorrect Country mapping during Magento synchronization
    • Fxied Incorrect Guest customers processing leads to lost real customers
    • Fixed Reports show incorrect value in budget amount field
    • Fixed Email feature disabling works incorrectly for organization
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Mar 30, 2017)

    In this release of OroCRM we improved our integration with OroCommerce by integrating sales opportunities and quotes.

    OroCommerce integration

    In this release, we have started integrating CRM pipeline management and forecasting tools—i.e. Leads and Opportunities, and Commerce sales fulfilment tools—RFQs, Quotes, and Orders. Please note that this is just the first step that will be followed with deeper integration in subsequent releases.

    Create and manage quotes from opportunity

    We have created a new Opportunity management workflow that allows sales reps to create quotes directly from the Opportunity view. All quotes that were created within a specific opportunity will be displayed in a corresponding section on its view. The sales rep can manage quotes from this grid in the same way they can manage them from quotes grid—i.e. edit, delete, or expire a quote.

    This function will only be available if the opportunity is related to a Commerce customer; otherwise, the workflow will behave exactly like the standard Opportunity management flow that existed in previous versions.

    Sales dashboard

    Two new widgets instead of one

    We have split old Business Sales Channel statistics widget into two: Lead statistics and Opportunity statistics. This change allowed us to enhance the resulting widgets with advanced filtering capabilities that were introduced for the Forecast widget in 1.10. Quick filters by territory were also added.

    Reports and segments

    Configurable reports

    In order to allow users who either do not have permissions to edit a report, or do not want to edit the report but still need to see the up-to-date results, report builder now allows to:

    • Enable grouping by date with different periods (daily, weekly, monthly, quarterly, yearly) for one of datetime columns in the report
    • Skip empty time periods in groupings if necessary
    • Filter data by an attribute even if it hasn’t been included as a report column.

    Record limits in segments

    The admin can now specify the maximum number of records in a segment. This can be useful if you need to choose only the top X records from a segment, e.g. only the top 100 of your customers by their lifetime sales value.

    Other fixes and improvements

    Activities

    Create events for other users at Calendar view

    If you have sufficient permissions, you can easily add events for other users at Calendar view.

    Grid in Recent emails widget is now clickable

    Enable or disable threaded view in My Emails page

    Other

    Better notification message for unsuccessful login after password reset

    Source code(tar.gz)
    Source code(zip)
  • 1.10.18(Mar 22, 2017)

    List of fixed issues and improvements

    • Fixed unexpected connections to DB server
    • Fixed Scroll and clicking doesn't work on "Manage filters" of "Add Context Entity" grid popup
    • Fixed Configuration fields with enabled option 'Use default' available for edit
    • Fixed Selectors are being available after saving the settings despite the related checkboxes
    • Fixed Wrong email settings (login/password) passed to user configuration
    • Fixed Default Datagrid filter type produces js error
    • Fixed Submit form of activity might "Nesting level too deep" fatal error in in_array function
    • Renamed HasElements and NoElements from oro_workflow.expression to oro_workflow.condition
    • Fixed Broken all select controls in embedded grids
    • Fixed mistake in error message when email was not delivered
    • Fixed when user deletes multi-select options, excessive comma is still displayed
    • Fixed can't save changes in Opportunity through edit form
    • Fixed mistake in error message when deleting 1 marketing list record
    • Fixed incorrect label "Add new Account" in Account field on Opportunity Create/Edit page when the user added new account
    • Fixed mistake in message when opportunity grid contains no records
    • Fuixd Add some message that clearly informs that user that he needs to specify at least one recipient while creating Email Notification Rule
    • Fixed incorrect validation for Name field while creating new entity
    • Fixed cannot delete all accounts by mass action
    • Fixed two or more MailChimp integrations are not together
    Source code(tar.gz)
    Source code(zip)
  • 2.0.4(Mar 21, 2017)

    List of fixed issues and improvements

    • Optimized unexpected connections to DB server
    • Fixed Installation instructions produce a non-working installation
    • Fixed Emails from system mailbox are not displayed in My Emails
    • Fixed Consumer fails on export-import step
    • Fixed "Recent emails" widget produces fatal
    • Fixed Message queue consumer does not use refreshed doctrine metadata cache
    • Fixed Default Datagrid filter type produces JS error
    • Fixed Titles columns of first imported file carry over to following imported files
    • Fixed Get rid of creation of new entities in get operations
    • Fixed Notification rules are lost after migration to 2.0 version
    • Fixed Viewing Custom Report with chart on a mobile device goes into a loop
    • Fixed Submit form of activity might "Nesting level too deep" fatal error in in_array function
    • Fixed Impossible to display workflow transition with comments field
    • Fixed Impossible to select relation field in workflow transition attributes
    • Fixed Configuration edit page is refreshed on after server validation of form is failed
    • Fixed Grid export works incorrectly with empty columns that having same names
    • Fixed Task information dialog doesn’t display html
    • Fixed Server Error occurred during Abandoned Cart Campaign creating
    • Fixed Internal Server Error while updating Customer name via inline editing
    • Fixed Password is an extra column in entity fields for Magento Customer Marketing lists creation
    • Fixed Mistake in error message when email was not delivered
    • Fixed When user deletes multi-select options, excessive comma is still displayed
    • Fixed Magento integration IFrames are not loading
    • Fixed Incorrect label "Add new Account" in Account field on Opportunity Create/Edit page when the user added new account
    • Fixed Incorrect error message when importing wrong file format
    • Fixed Incorrect workflow items migration from 1.12 to 2.0
    • Fixed Incorrect Reminders Namespaces migration from 1.12 to 2.0
    • Fixed Incorrect Data Audit class namespaces migration from 1.12 to 2.0
    • Fixed Incorrect migration of Navigation items from 1.12 to 2.0
    • Fixed Cannot delete all accounts by mass action
    • Fixed Two or more MailChimp integrations are not together
    • Fixed Cannot choose organization when creating new user if there are few organizations in the system
    Source code(tar.gz)
    Source code(zip)
  • 2.0.3(Mar 21, 2017)

    List of fixed issues and improvements

    • Fixed update schema for custom entity without fields
    • Fixed upload Translation File does not work on languages management
    • Fixed incorrect Email Messages Id and UID usage in IMAP integration
    • Fixed Tag records namespaces after migration to 2.0 version
    • Fixed web installer fails on wrong DB configuration
    • Fixed wrong email settings (login/password) passed to user configuration
    • Fixed Cron scheduled workflow transitions are not working
    • Fixed not accessible all girds with workflows
    • Fixed possible break of on calendar widget
    • Fixed notification rules are lost after migration to 2.0 version
    • Fixed impossible tp save changes in Opportunity through edit form
    • Fixed deadlocks causing queries during consumer work
    • Fixed Magento Channels are created in INACTIVE state
    • Fixed Business Customers > Fatal Error on inline editing
    • Fixed Embedded forms does not work after migration to 2.0
    • Fixed Fixed Incorrect entity names in Channel view after migration to 2.0
    • Fixed Incorrect workflow items migration from 1.12 to 2.0
    Source code(tar.gz)
    Source code(zip)
  • 1.10.17(Feb 24, 2017)

    List of fixed issues and improvements

    • Fixed corrupted installation on replicated MySQL server
    • Added handling for SwiftMailer SMTP transport exception
    • Fixed Deleted Extended Entity causes Cache Warmup crash.
    • Fixed custom field is not synchronized for entities with Redis configuration.
    • Fixed configure system mail box configuration
    • Removed unused oro_calendar.exception.form.type
    • Added command to import addresses from Magento Customer to Contact
    • Fixed Update from 1.9.3 to 2.0.1 is broken
    • Fixed Magento Customers Place order
    Source code(tar.gz)
    Source code(zip)
  • 2.0.2(Feb 21, 2017)

    List of fixed issues and improvements

    • Fixed Corrupted installation on replicated MySQL server
    • Fixed "(%sign%)" instead of base currency symbol in the "Change history"
    • Fixed incorrect display import forms errors
    • Fixed Deleted Extended Entity causes Cache Warmup crash
    • Fixed Emails and Thread Emails are displayed in duplicate
    • Fixed Custom field is not synchronized with Redis cache
    • Fixed Impossible to configure system mail box for some shared hosting
    • Fixed Broken functionality of configurable export
    • Fixed outdated documentation in OroWorkflowBundle
    • Fixed Cron scheduled workflow transitions are not working
    • Fixed Widget “Campaigns By Close Revenue ”: Total for campaign are shown incorrectly for “today” date range.
    • Fixed System mailbox thread disappears
    • Fixed Account grid error on edit opportunity page
    • Fixed Update from 1.9.3 to 2.0.1 is broken
    • Fixed Magento Place order does not work
    • Fixed Magento Dashboard appears instead of Place Order dialog
    • Fixed Pin doesn't delete when entity has been deleted
    • Fixed Invalid interruption of AMQP(RabbitMQ) transport
    Source code(tar.gz)
    Source code(zip)
  • 1.10.16(Feb 13, 2017)

    List of fixed issues and improvements

    • Fixed Emails and Thread Emails are displayed in duplicate
    • Fixed System mailbox thread disappears
    • Fixed Slow Opportunities count records on the grid
    • Fixed Widget “Campaigns By Close Revenue ”: Total for campaign are shown incorrectly for “today” date range.
    Source code(tar.gz)
    Source code(zip)
  • 1.10.15(Feb 3, 2017)

    List of fixed issues and improvements

    • Fixed Broken Forecast widget on month edges
    • Fixed Close revenue field is not pre-filled on a Transition form
    • Fixed Duplicated Accounts Grid View is not opened for some users
    • Added Enable or disable threaded view in My Emails
    • Improved Opportunities by Status widget performance
    • Improved Opportunities count records on the grid performance
    • Improved Leads count records on the grid performance
    • Improved B2B Customers grid performance
    • Improved Accounts data grid erformance
    • Improved Magento data grid performance
    Source code(tar.gz)
    Source code(zip)
  • 1.10.14(Jan 26, 2017)

    List of fixed issues and improvements

    • Added Duplicated Contacts grid view
    • Improved Magento Customers grid performance
    • Improved Leads grid performance
    • Improved Tasks grid performance
    • Implemented Dotmailer Extension Enhancement
    • Fixed Unpredictable data sorting on Calls grid
    • Fixed New contact is not found in autocomplete
    • Fixed Impossible to send email via System Email Box
    • Fixed Send email autocomplete does not work
    • Fixed "Is Empty" Datagrid filter doesn't work for PostgreSQL
    • Fixed Show the fresh entity change history
    • Fixed Invalid check of target fields in add*InverseRelation
    • Fixed Several data audit grids on the same page
    • Fixed Process linked entity during the import, if the value is Null
    • Fixed Recent calls dashboard widget does not works after upgrade to 2.0
    • Fixed On Activity List "Add Context" button doesn't work after widget was expanded
    • Fixed 'Budget amount' is changed on closing 'Opportunity' through workflow
    • Removed unexpected order by ID from entities' grids
    • Fixed MailChimp synchronization fails
    • Fixed Layout messes up under filter activation on "Select Contacts" form
    • Fixed Widget “Campaigns By Close Revenue ”: Total $ for campaign are shown for opportunities Closed Lost.
    • Fixed Widget “Campaigns Leads”: Values for campaign are shown incorrectly for “today” date range.
    • Fixed Widget "Opportunities By Status": the values are shown and counted incorrectly for selected “Date range”
    • Fixed Widget "Average Lifetime Sales" is not working correctly with empty custom date
    • Fixed Widget "Forecast": Opportunities with probabilities 0%, 100% are not used in calculations
    • Fixed "Start Opportunity Management Flow" ignores a previously inputted Probability
    • Fixed Opportunities "in progress" with empty, and 100% probability are not shown in forecast widget and report
    • Fixed Report/Segment builder add unexpected Order by to final query
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Jan 16, 2017)

    In this release of OroCRM we focused primarily on improvements of our Sales pipeline. We improved multi-channel versatility of Opportunities as a general sales tracking tool by making them available for all types of customers. We also made possible to record sales in multiple currencies by adding multi-currency support to Enterprise Edition.

    On the more down-to-earth level we introduced a portfolio of safety minded features that will allow administrators to secure access to the system with the variety of tools. Workflow capabilities got a major expansion—multiple parallel workflows are now a reality.

    Finally, in the anticipation of upcoming growth of Oro product family, we have prepared OroCRM to seamlessly integrate with OroCommerce when it is released later in January.

    Sales pipeline management

    Enable Leads and Opportunities as features

    Leads and Opportunities became the first application of the new OroPlatform feature management capability. Enabling or disabling them in your instance no longer requires manipulations with the Sales channel—from now on it is as easy as checking a box in the system configuration. When enabled, each feature will bring in not just the menu item with the grid of records, but also all the necessary paraphernalia: workflows, reports, dashboard widgets, etc.

    Note that Sales channel remains available in the system, but now its functions are reduced to enabling Business Customers and controlling their grouping at the Account view. Also, Channel relation is no longer considered necessary for both Leads and Opportunities and will not appear in new 2.0 installations. If you migrate from 1.10/1.12 EE, the field and relation will remain but will be converted into extended relation, so you can easily remove it in entity management.

    Create Opportunities for any customers, or for Accounts directly

    We have made Opportunities truly universal sales tracking tool by removing the restriction of a mandatory Business customer relation. From now on, Opportunities can be related to any customer type—Magento customers, Commerce customers, or any other type of customers that might be introduced by third-party extensions.

    Opportunities can also be related directly to Accounts. This is the most basic and most natural setup of OroCRM if you don’t need to track multi-channel sales, or just want to keep things simple. And you can always enable the additional complexity of multiple customer channels later when the need arises.

    The functionality of Account lookup control at Opportunity create/edit form has changed accordingly:

    • You can search for an existing account not just by its name, but also by names, emails, and phones of its contacts and customers, so you can find the account quicker and more conveniently
    • Customers can also be searched for by emails and phones in addition to the name
    • Customers that belong to the same account will be grouped together in the lookup, and the account will be displayed on top. All records feature entity or integration icons for better clarity
    • “Type-in” feature now allows to create Accounts only, and the action is correspondingly labeled
    • New customer records should be created via the Plus button, that gets a dropdown selector if you have more than one customer type

    Note to developers: Please read the Sales Customer Relations section in our documentation to learn how to introduce your own customer types that will properly work with Opportunities.

    Known issues:

    • Account field has been temporarily removed from Opportunity grid. We will re-introduce it as soon as possible in the future maintenance releases.
    • Data template for import & export of both Opportunities and Leads will contain all fields of all customer types that are enabled in the organization so if you have many different customer types, it might become hard to manipulate. Again, we will do our best to improve this experience asap.

    Opportunity lists at customer views, 360° view at Account

    You can relate your sales opportunities to any customer now, so it is only natural that you will be able to see the full history of deals with the particular customer at their view. And, staying true to our 360° Account view promise, we’ve added the complete list of all related Opportunities to the Account view as well.

    Create Opportunity from Account and customer views

    The final point in growing ubiquity and convenience of Opportunity management is the ability to create it from any customer view, or from Account view. The action is available under More Actions dropdown, and the Account field will be prefilled with the Account or customer you’re creating it from.

    See relevant Opportunities at Opportunity view

    This feature allows the sales reps to check the history of the deals with the particular account directly on the Opportunity view, so the crucial pieces of past wisdom and experience that might make the difference between a successful sale and the failed one become more readily available.

    This feature is optional and can be turned on or off in the Opportunity section of CRM configuration. It’s enabled by default.

    Other activities

    Recurring calendar events

    Recurring calendar events are no longer read-only—now you can create and edit them straight in the OroCRM calendar. Multiple recurrence patterns are supported; all events in the series can be managed on their own, creating exceptions when necessary; Outlook integration has full support for events created and edited in OroCRM.

    Non-OroCRM invitees to events

    We have also expanded functionality of invitations—now you can invite everyone to your events, not just OroCRM users. Invitation is done by email address, and an external invitee will also receive a RSVP notification—obviously, without the link to OroCRM’s calendar.

    Close tasks directly from the activity list

    Task status is now clearly displayed on its row in the activity list, letting you to know what’s going on at a glance. And you can start or stop the task progress, or mark it as complete straight from the row actions—all task workflow transitions are just one click away, so you no longer have to navigate back and forth between the task and its context record.

    Task contexts are shown in the grid

    Task contexts are now displayed in the Tasks grid, allowing you to quickly identify what this particular task was about. All contexts are clickable, so you can easily navigate to them.

    Call duration now supports decimal points

    Tags

    Tag taxonomies and colors

    Tags can now be grouped in taxonomies, and every taxonomy can be assigned with a distinctive color, to let you clearly identify different group of tags that might serve different purposes.

    This feature has been contributed by our community member Samuel Denis-D'Ortun (@sadortun) – thank you!

    Marketing

    Enable or disable marketing features

    Marketing-related features, such as Marketing lists, Campaigns, and Web Tracking can now be turned on and off in system configuration.

    Marketing as a separate package

    Marketing-related OroCRM bundles: MarketingListBundle, CampaignBundle, and TrackingBundle have been combined in a separate package that was moved to its own repository. The package is included into OroCRM by default, but can be removed if necessary. Note that our marketing extensions—MailChimp and dotmailer integrations, and Abandoned Cart Campaign extension are dependent on this package, so they won’t work if it’s been removed from the application.

    Source code(tar.gz)
    Source code(zip)
  • 1.10.13(Jan 20, 2017)

    • Fixed "Data loading failed" error when clearing filters for "Won Opportunities by Period" report
    • Fixed Incorrect internationalization setup of moment.js
    • Fixed Magento integration does not work for some cases
    • Fixed Comments widget is not loaded on the Activity widget when Activity widget loaded for the first time
    • Fixed Widget "Business sales channel statistics"- Value in “New Opportunities Count ” is not calculated for “All time” period
    • Fixed click on Filter Results popup with filter won't closed on mobile devices
    • Fixed Incorrect oro:translation:pack work with dump option
    • Fixed Magento Carts sync fails with Call to a member function setFinalPrice()
    • Fixed Change log level to Warning for forbidden errors
    • Fixed filter with select breaks grid page loading
    • Fixed "HAS ROLE" column should be excluded from Users grid related to the Role entity
    • Fixed there are all users displayed under particular Role in view mode
    • Fixed Incorrect deletion of the Excepted Events from Event Grid in OroCRM by Mass Action
    • Improved Email Page Filter performance
    • Removed unexpected Delete mass action from Integration
    • Fixed filter out duplicate Account and Contact records
    • Fixed Datagrid filters hidden after filter reset (with pagination disabled)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-rc.1(Dec 30, 2016)

    In this release of OroCRM we focused primarily on improvements of our Sales pipeline. We improved multi-channel versatility of Opportunities as a general sales tracking tool by making them available for all types of customers. We also made possible to record sales in multiple currencies by adding multi-currency support to Enterprise Edition.

    On the more down-to-earth level we introduced a portfolio of safety minded features that will allow administrators to secure access to the system with the variety of tools. Workflow capabilities got a major expansion—multiple parallel workflows are now a reality.

    Finally, in the anticipation of upcoming growth of Oro product family, we have prepared OroCRM to seamlessly integrate with OroCommerce when it is released later in January.

    Sales pipeline management

    Enable Leads and Opportunities as features

    Leads and Opportunities became the first application of the new OroPlatform feature management capability. Enabling or disabling them in your instance no longer requires manipulations with the Sales channel—from now on it is as easy as checking a box in the system configuration. When enabled, each feature will bring in not just the menu item with the grid of records, but also all the necessary paraphernalia: workflows, reports, dashboard widgets, etc.

    Note that Sales channel remains available in the system, but now its functions are reduced to enabling Business Customers and controlling their grouping at the Account view. Also, Channel relation is no longer considered necessary for both Leads and Opportunities and will not appear in new 2.0 installations. If you migrate from 1.10/1.12 EE, the field and relation will remain but will be converted into extended relation, so you can easily remove it in entity management.

    Create Opportunities for any customers, or for Accounts directly

    We have made Opportunities truly universal sales tracking tool by removing the restriction of a mandatory Business customer relation. From now on, Opportunities can be related to any customer type—Magento customers, Commerce customers, or any other type of customers that might be introduced by third-party extensions.

    Opportunities can also be related directly to Accounts. This is the most basic and most natural setup of OroCRM if you don’t need to track multi-channel sales, or just want to keep things simple. And you can always enable the additional complexity of multiple customer channels later when the need arises.

    The functionality of Account lookup control at Opportunity create/edit form has changed accordingly:

    • You can search for an existing account not just by its name, but also by names, emails, and phones of its contacts and customers, so you can find the account quicker and more conveniently
    • Customers can also be searched for by emails and phones in addition to the name
    • Customers that belong to the same account will be grouped together in the lookup, and the account will be displayed on top. All records feature entity or integration icons for better clarity
    • “Type-in” feature now allows to create Accounts only, and the action is correspondingly labeled
    • New customer records should be created via the Plus button, that gets a dropdown selector if you have more than one customer type

    Note to developers: Please read the Sales Customer Relations section in our documentation to learn how to introduce your own customer types that will properly work with Opportunities.

    Known issues:

    • Account field has been temporarily removed from Opportunity grid. We will re-introduce it as soon as possible in the future maintenance releases.
    • Data template for import & export of both Opportunities and Leads will contain all fields of all customer types that are enabled in the organization so if you have many different customer types, it might become hard to manipulate. Again, we will do our best to improve this experience asap.

    Opportunity lists at customer views, 360° view at Account

    You can relate your sales opportunities to any customer now, so it is only natural that you will be able to see the full history of deals with the particular customer at their view. And, staying true to our 360° Account view promise, we’ve added the complete list of all related Opportunities to the Account view as well.

    Create Opportunity from Account and customer views

    The final point in growing ubiquity and convenience of Opportunity management is the ability to create it from any customer view, or from Account view. The action is available under More Actions dropdown, and the Account field will be prefilled with the Account or customer you’re creating it from.

    See relevant Opportunities at Opportunity view

    This feature allows the sales reps to check the history of the deals with the particular account directly on the Opportunity view, so the crucial pieces of past wisdom and experience that might make the difference between a successful sale and the failed one become more readily available.

    This feature is optional and can be turned on or off in the Opportunity section of CRM configuration. It’s enabled by default.

    OroCommerce integration

    Seamless single-application experience

    The integration with OroCommerce will provide seamless experience as both applications will work as a single one. All combinations are supported—it will be possible to install OroCommerce over existing OroCRM instance; add OroCRM to existing OroCommerce instance if you were using its beta; or finally install both applications as a single package.

    Either way, integration between OroCRM and OroCommerce will yield you a single application with a combined menu and shared organization backbone: users, business units, roles, and organizations if you’re an Enterprise customer.

    Accounts with Lifetime sales values for Commerce customers

    When OroCommerce is integrated with OroCRM, Commerce customers are treated in the same way as other customers—Magento or Business. Their data and business transactions are displayed at the Account view, and their activities are added to the Account’s activity list. Finally, the LTSV metric will be calculated for Commerce customers based on the orders placed, and

    When a customer is created or edited at backend, the Account can be specified directly. When a new customer is self-registering at frontend, a new Account of the same name will be created automatically, so addition of CRM to Commerce won’t affect customer experience.

    If you install CRM over existing Commerce instance, new Accounts will be automatically created for all existing customers. Note that you can specify the strategy of Account creation under System configuration > Integrations > CRM and Commerce. Two options exist: create a single account for the entire customer hierarchy, or create a separate account for every customer regardless of their parent-child relations with other customers. You can change this option at any time, and customers will be re-related to accounts accordingly.

    Track & forecast Commerce sales using opportunities

    As already explained above, CRM Opportunities can now be related to any customer type, including Commerce customers. This allows Commerce sales representatives to track their ongoing deals and forecast future revenues for all sales that are or will be conducted via the Commerce website by relating the Opportunity to the respective Commerce customer record.

    Advanced application security

    Password strength configuration

    This feature allows administrators to impose mandatory complexity demands to users’ passwords. It is possible to configure the following restrictions:

    • Minimum length (8 characters by default)
    • Require password to contain a number
    • Require a lowercase letter
    • Require an uppercase letter
    • Require a special character

    User statuses

    As part of this feature we’ve introduced two sets of user statuses to better reflect the current state of the user’s account.

    Status for state of the user account. This is a system status that determines general validity of the user’s account and usually corresponds to state of user’s employment within an organization. It has two options: Enabled (used to be Active) and Disabled (formerly Inactive) and can be manipulated directly at User edit page or via Enable User/Disable User actions.

    Authentication status provides information of the validity and applicability of user’s login credentials. In Community Edition it has two options: Active and Password reset, and in Enterprise Edition a third Locked option is added. This status cannot be manipulated directly and is changed as a result of administrator’s or user’s own actions, such as resetting the password or getting locked after unsuccessful logins.

    Impersonate a user

    This feature allows external developers or administrators to log into system under someone else’s account using oro:user:impersonate console command. Impersonation is the best way to examine the system behavior when you’re trying to reproduce an issue reported by the user.

    All changes made by impersonated users are marked accordingly in the Data audit, allowing you to clearly identify possible abuse of this feature.

    Workflow capabilities

    Workflows got a major revision in this version of OroCRM.

    Multiple active workflows for an entity

    We have lifted one of the most basic restrictions for our workflows, allowing you to have multiple active workflows for the same entity at the same time. The use cases for multiple workflows are endless: alternative sales workflows that the sales representative can choose when they decide how to deal with an opportunity; parallel sales follow-up and order fulfillment workflows for a placed order; you name it.

    New design for workflow widget at record views

    As it is now possible to have multiple active workflows on the same record, we had to redesign the workflow widget, so it can display states and let you run transitions of multiple workflows at once.

    Mark workflows as exclusive

    Two or more workflows can be marked as mutually exclusive so once one workflow from the exclusive group is started, others can no longer be run. This feature serves the use case of multiple alternative flows, e.g. sales flows: You have many to choose from, but once you’ve made your choice, you no longer need the alternatives.

    Please note: so far, this feature can only be utilized by developers.

    Manage user permissions to run individual workflows

    Multiple active workflows for different tasks is a great function, but it brings additional complexity which many of the system users won’t really need. For example, if you have a sales follow-up flow and a support flow for your Magento order, chances are, the support representative don’t even need to know about the sales rep’s work, and the sales rep could be aware about the state of problem resolution, but should not intervene into it.

    In order to fine-tune user’s access to workflows we have added workflow permissions to Role management interface, allowing you to configure:

    • Visibility of the entire workflow and its steps/current step
    • Ability to run workflow transactions
    • Ability to run every individual workflow transaction

      Workflow translations

      All workflow labels are now translatable to other languages similarly to other system interface, allowing you to create even better localizations for your users from different countries.

      Other workflow engine capabilities

      Please check OroPlatform release notes to learn more, as these capabilities are more technical and developer-oriented, and cannot be managed from the UI at the moment.

      Translations and localizations

      This feature allows system administrators to manage OroCRM translations to different languages from within the system interfaces.

      Define localizations

      Define custom localizations which can then be applied to OroCRM in the system, organization, or even personal configuration. The localization is a combination of language and formatting rules (locale).

      Upload your own language packs

      Language management has been moved from system configuration to separate interface under System > Localization > Languages. Here you can enable and disable system languages, download language packs for translation and upload your own language packs if you don’t want to depend on Crowdin translation or are not satisfied with it.

      Manually translate UI elements

      Translations can be manually applied to every UI element that is marked as translatable, such as workflow transition label or workflow step name. These translations are added under System > Localization > Translations.

    Other features and improvements

    Navigation and general UX

    Application menu configuration

    Application menu can now be managed and configured from the UI. You can adjust the menu for the entire application, or create personal menus for every user if you want to.

    Show/hide filters at data views

    Filters on data views (grids and the Kanban board) can now be hidden to save screen space. Click the funnel button in grid controls to toggle them on and off. Note that applied filters will still be visible above the grid, so you can identify which records you’re supposed to see.

    Import & export execution in the background

    Import and export of data will no longer block you from using the system—it will now be performed in the background, so you can continue working even when you are importing very large files with millions of records. Once the file is imported or exported, you will receive an email notification with report on import results or a link to download the exported file.

    Emails

    Enable or disable user emails as a feature

    All email-related functionality can now be easily disabled if you are not using it and don’t want it to get in the way. A simple checkbox under System > Configuration > Email configuration will disable My emails page, user and system mailboxes, email activities, email-related widgets, and all email-related settings in both user and system/organization configuration. You can turn off emails for the entire system, or a specific organization.

    Note that this feature does not affect transactional emails, such as notifications about password reset, or invites to calendar events. Email notifications will stay in place, and email templates will still be available for editing. Email marketing campaigns also won’t be affected.

    Configure SMTP provider for system or organization

    SMTP provider for transactional, marketing, and other emails sent from OroCRM can now be configured explicitly in email configuration. You can choose a popular provider, such as Mailgun or Sendgrid, or set up your custom server.

    System SMTP provider will also be used for outgoing user emails if their personal mailboxes weren’t configured. However, when set up, user’s mailbox SMTP settings will override the system SMTP provider.

    Turn off HTML purifier for email templates

    You can now create rich HTML templates in OroCRM by simply pasting the HTML code prepared by designer into template editor. To make sure no tags are stripped, turn off HTML purifier in Email configuration settings for your system or organization.

    Limit email attachment size

    Email attachment size can now be limited in the system configuration (set to 50 MB by default) to reduce DB growth and adverse effects on application performance.

    Other activities

    Recurring calendar events

    Recurring calendar events are no longer read-only—now you can create and edit them straight in the OroCRM calendar. Multiple recurrence patterns are supported; all events in the series can be managed on their own, creating exceptions when necessary; Outlook integration has full support for events created and edited in OroCRM.

    Non-OroCRM invitees to events

    We have also expanded functionality of invitations—now you can invite everyone to your events, not just OroCRM users. Invitation is done by email address, and an external invitee will also receive a RSVP notification—obviously, without the link to OroCRM’s calendar.

    Close tasks directly from the activity list

    Task status is now clearly displayed on its row in the activity list, letting you to know what’s going on at a glance. And you can start or stop the task progress, or mark it as complete straight from the row actions—all task workflow transitions are just one click away, so you no longer have to navigate back and forth between the task and its context record.

    Task contexts are shown in the grid

    Task contexts are now displayed in the Tasks grid, allowing you to quickly identify what this particular task was about. All contexts are clickable, so you can easily navigate to them.

    Call duration now supports decimal points

    Tags

    Tag taxonomies and colors

    Tags can now be grouped in taxonomies, and every taxonomy can be assigned with a distinctive color, to let you clearly identify different group of tags that might serve different purposes.

    This feature has been contributed by our community member Samuel Denis-D'Ortun (@sadortun) – thank you!

    Marketing

    Enable or disable marketing features

    Marketing-related features, such as Marketing lists, Campaigns, and Web Tracking can now be turned on and off in system configuration.

    Marketing as a separate package

    Marketing-related OroCRM bundles: MarketingListBundle, CampaignBundle, and TrackingBundle have been combined in a separate package that was moved to its own repository. The package is included into OroCRM by default, but can be removed if necessary. Note that our marketing extensions—MailChimp and dotmailer integrations, and Abandoned Cart Campaign extension are dependent on this package, so they won’t work if it’s been removed from the application.

    Source code(tar.gz)
    Source code(zip)
  • 1.10.12(Dec 14, 2016)

    List of fixed issues and improvements

    • Added command to update email contact / user / customer associations
    • Added filers by Owner and Business units to Cases and B2B Customers
    • Added SwiftMailer SMTP transport error logging
    • Fixed Query Exception during rendering of a Template
    • Fixed incorrect showing of Emails in Activities tree
    • Fixed edit opportunity after related account has been deleted
    • Improved Abandoned carts list performance
    • Fixed widget «Business sales channel statistics” – “Compare with previous period” calculated incorrectly for some values on the "Business sales channel statistics" widget.
    • Fixed widget "Business sales channel statistics" – Some values in Widget "Business sales channel statistics" are not calculated for “All time” period -Fixed widget "Business sales channel statistics" not all records is counted in “New Leads” field
    Source code(tar.gz)
    Source code(zip)
  • 1.10.11(Dec 2, 2016)

    List of fixed issues and improvements

    • Added command to associate email - contacts / users / customers
    • Added default filter to Magento Carts grid to exclude empty carts
    • Fixed errors from tracking data loading from log files
    • Fixed Dotmailer integration contacts are not exported
    • Fixed Email attachment without email body is not loaded
    • Fixed Incorrect showing of Emails in Activities tree
    • Fixed JS error is occurred on Revenue Over Time widget
    • Fixed cannot edit opportunity after related account has been deleted
    • Fixed fatal error when sending email without sync folders
    Source code(tar.gz)
    Source code(zip)
  • 1.10.10(Nov 23, 2016)

    List of improvements and fixes

    • Fixed Dotmailer integration compatibility with PHP 7
    • Fixed Magento initial sync can be run from the initial date
    • Fixed slow Recent Emails dashboard widget
    • Fixed missing association between Magento Order and Calendar event
    • Added ability to configure imap socket timeout
    • Fixed 'Created At' data grid filter doesn't work properly under German and Danish locale
    • Fixed impossible to upload file during sales flow process
    • Fixed incorrect signature display while replying in email thread
    • Fixed wrong type-hint in Contact::addAddress entity
    • Fixed impossible to view emails in Activities Tree
    • Fixed incorrect length of encrypted email password column in database
    • Fixed slow My Email grid
    • Changed default incremental sync period and move it to configuration
    • Fixed incorrect CSV report export if there are duplicated columns Labels
    Source code(tar.gz)
    Source code(zip)
  • 1.10.9(Nov 4, 2016)

    List of improvements and fixes

    • Fixed Magento Initial sync starts every week
    • Fixed Magento Customers grid by Billing State
    • Fixed performance issue within autocomplete functionality
    • Moved oro:cron output to verbosity level
    • Fixed fatal error when sending email without sync folders
    • Fixed Embedded forms VS 3rd party website cookies and data
    • Added truncate email body to SQL instead of do it on php side
    • Fixed Email XSS vulnerabilities
    • Optimized email body cleanup process
    Source code(tar.gz)
    Source code(zip)
  • 1.10.8(Oct 28, 2016)

    List of fixes and improvements

    • Fixed error on 'My email' page for specific user
    • Added common progress bar for search reindex command
    • Fixed embedded forms VS 3rd party website cookies and data
    • Fixed XSS vulnerability in the enum grid column
    • Optimized email body cleanup process
    Source code(tar.gz)
    Source code(zip)
  • 1.10.7(Oct 24, 2016)

    List of fixes and improvements

    • Added possibility to extend optional-validation-handler on form level
    • Fixed IMAP Storage warning
    • Added handling for doctrine exceptions in job execution
    • Fixed check rules of finding email origins to be synchronized
    • Added handling of hanged email origins
    • Fixed handling of wrong folders or email messages from outlook.office365.com
    • Fixed incorrect grid display of custom views
    • Fixed slow download languages on some environments
    • Improved search reindex performence
    • Added progress for search reindex command
    • Fixed "Connect to MailChimp" button is not shown for custom entity
    • Added truncate email body to SQL instead of do it on php side
    • Fixed The email folder is disabled on some temporary issues with IMAP connection
    • Added Scalable Business unit selector
    • Fixed Email reply does not work in case system MailBox is configured
    Source code(tar.gz)
    Source code(zip)
  • 1.10.6(Oct 10, 2016)

    List of fixes and improvements

    • Fixed broken date time widget after creating Opportunity with new Contact through dialog
    • Fixed impossible to Save as default Grid View
    • Fixed Not found entity "Magento Customer" errors during Magento sync
    • Fixed wrong migration for loading roles for Task entity
    Source code(tar.gz)
    Source code(zip)
  • 1.10.5(Sep 29, 2016)

    List of fixes and improvements

    • Added limit for attachment size within IMAP/EWS emails
    • Fixed Broken labels for grid-related actions and UI controls
    • Fixed Slow queries after login
    • Fixed Inline editing impacts grid performance
    • Fixed Incorrect behavior of inline editing menu selection
    • Moved phones and emails from relationships to attributes
    • Updated monolog/monolog package version at least to 1.17
    • Restored phone cell functionality
    • Fixed target path after login
    • Fixed Datagrid header broken for some pages
    • Fixed Month view in Calendar does not display end time.
    • Fixed Incorrect migrations for missing fields System Calendar
    • Fixed issues related to text-util.js
    • fixed ecxeption on email templates form
    • Fixed PHP Notice: Array to string conversion on Magento order view page
    • Fixed Incorrect default filter status for enums
    • Fixed double submitting Embedded forms
    • Fixed upgrade of tenants with large amount of Sales data
    • Fixed Leads export functionality
    Source code(tar.gz)
    Source code(zip)
  • 1.10.4(Sep 20, 2016)

    List of fixes and improvements

    • Fixed creating and editing event for system calendar doesn't work
    • Fixed could not share new grid
    • Fixed A plural alias for "Extend\Entity\EV_Prod_Inventory_Status entity not found
    • Added additional action buttons to the role view page
    • Enabled ping request in websocket
    • Fixed error is occurred during tracking events processing
    • Fixed unsecured information in Magento check error message
    • Fixed RFM parameters saving triggers errors
    Source code(tar.gz)
    Source code(zip)
  • 1.10.3(Sep 13, 2016)

    List of fixes and improvements

    • Fixed broken labels for grid-related actions and UI controls
    • Fixed A plural alias for "Extend\Entity\EV_Prod_Inventory_Status" entity not found
    • Added possibility to paste HTML content into email templates
    Source code(tar.gz)
    Source code(zip)
  • 1.10.2(Sep 9, 2016)

    List of fixes and improvements

    • fixed OroCRM loading fails with non UTF-8 characters in emails • Improved performance of My Emails grid with default 100 records per page • fixed of Symfony 2.8.10 bug • Added support comma for Call duration • Added default translations to select2 extend • Fixed Incorrect table to class map in EntityMetadataHelper • Datagrid rendering improvements • Added force Resync parameter for IMAP synchronization command • Fixed filter does not work if two or more conditions are applied… • Fixed JmsJob queue slow opening • Fixed status filter breaks sorting for saved Grid view • Fixed fullcalendar AMD module name • Enabled field level ACL for new API for POST and PATCH • Fixed error of migration ConvertPhoneNumberInPhone during upgrade to last version • Fixed not possible to create lead via REST API • Fixed incorrect Magento API requests during attempts • Fixed Magento Order Sync action does not sync order information • Fixed field level ACL doesn't affect the Workflows Transitions • Fixed duplicated threads on Account view • Fixed Load page performance degradation • Fixed unexpected slow HTML Sanitiser • Refactored get email body text • Fixed B2B customer, address removal by CSV import update • Fixed B2B customer import, State full name, association • Fixed relative referenced dependency prevents override • Fixed Emails are not coming through icon once Synced- Yahoo

    Source code(tar.gz)
    Source code(zip)
  • 1.10.1(Aug 29, 2016)

  • 1.9.8(Sep 2, 2016)

    List of improvements and fixes:

    • Email ACL does not work
    • Properly process broken email via IMAP protocol
    • Cleanup unexpected data from akeneo batches tables
    • Magento order Sync data leads to run full channel synchronization
    • Selector fields have broken layout
    • Changed IAMP sync command to create separate job for each origin
    • Cannot send emails from "Recently used" list
    • To add abbreviation for overseas military addresses
    • Open action of Select2 dropdown does not close other dropdowns
    • Make asynchronous Sync Emails processing
    • Calendar stuck when event was deleted
    • Reset filter after switching from 'Is Empty'
    • Fatal is occurred on Magento Customers page with restricted Integration entity
    • Fatal is occurred during Magento Orders import
    • Unenable to removed address from B2B customer
    • Can`t set default group for guest customer
    Source code(tar.gz)
    Source code(zip)
  • 1.10.0(Aug 15, 2016)

    In this release of OroCRM we have focused on improvements to Sales pipeline in its entirety from Lead to Opportunity management. We have also significantly upgraded Role management capabilities and UX and added numerous improvements to almost every feature of OroCRM. Due to advancements in Oro Platform, application performance has also improved significantly.

    Sales pipeline management

    Clear naming

    B2B Channel type and B2B Customer were renamed to Sales Channel and Business Customer respectively to give the end user more clarity about their purpose.

    Direct sales pipeline management without Sales Process entity

    To streamline sales management UX we have deprecated Sales Processes and removed from the default Sales channel setup.

    Instead, the Sales representative can now manage Leads and Opportunities directly, from their respective view pages, or even from entity grids via inline editing. Both entities' statuses are available for direct manipulations (see below), although in case of Opportunity some statuses might be restricted by a workflow.

    Migration note: Sales Processes are removed from the default setup only in fresh 1.10 installs of OroCRM. If you upgrade from 1.9.x version they will remain active and none of your data will change until you explicitly decide to turn them off. To do so, simply remove the Sales Process entity from your Sales channel setup. Then activate the Opportunity Management flow if you want to use it, or leave it inactive if you prefer the full freedom option (more on this below).

    Note that even if you decide to stick with Sales Processes, all UX improvements for Lead and Opportunity management will be available. However, we strongly recommend to move away from them, as they will be completely discontinued and eliminated in future versions of OroCRM.

    Lead management improvements

    Open Leads as a default grid view

    We've created a new Open Leads grid view and have made it default for Leads grid. The reason for this change was to focus the Sales rep on leads that require processing instead of already processed leads. All Leads view remains available out of the box.

    Quickly create Lead in a single form

    This feature allows the Sales rep to quickly create a Lead with any bit of information they have at their disposal. First name and Last name are no longer required, and Lead name remains the only mandatory field—this applies to both manual lead creation and to CSV import.

    Lead creation and edit forms were also redesigned to better structure lead information.

    Multiple emails, phones, and addresses for a Lead

    Now Leads can be created with multiple email addresses, phone numbers, and postal addresses similarly to Contacts, giving Sales representatives more versatility and flexibility in lead management.

    Manage Lead status directly

    As stated above, Lead status can now be edited and changed by the user, allowing them to quickly mark a Lead as qualified or disqualified.

    The administrator can adjust the list of statuses and their order in Entity configuration. Note that three default statuses cannot be removed, but can be renamed.

    Disqualify Lead action

    To speed up the lead management we've added Disqualify action to the lead view page. This action changes the Lead status without additional dialogs, saving the Sales rep a few clicks.

    Convert Lead to Opportunity action

    This is a new action that allows the Sales rep to quickly create an Opportunity and, if necessary, an Account and/or Contact along the way. All records are created within a single form that is pre-filled with the Lead data:

    • Opportunity name is taken form the Lead name.
    • An Account name is taken from Company name. The system will search for matching Account or Business customer, and will create new if the search was unsuccessful.
    • Contact field will be pre-filled if the Lead is related to a Contact. Otherwise, the new Contact will be created along with the Opportunity, and instead of Contact selector, the form will contain a "New Contact Information" sub-form, so the Sales rep may review the new contact data and adjust it if necessary. All contact information will be taken from corresponding Lead fields.

    Continue with Lead activities at the Opportunity page

    To ensure that no conversation context and history is lost after you qualify a Lead to Opportunity, all activities recorded towards the Lead are also associated with the Opportunity created from it. The old activities remain associated with the Lead as well, but all new activities recorded towards the Opportunity after it has been created won't appear on the Lead view.

    Opportunity management

    Quickly create Opportunity in a single form with no popups

    We have improved Create Opportunity form so it can be filled in quicker and in more convenient way, saving up a great deal of Sales rep's time.

    To do so, we've allowed to create a related Contact and an Account and Business Customer pair by simply typing in their desired names into respective controls. A list of matching values will still appear, but with an option to create a new record. Note that Account field represents a combined relation to an Account via Business Customer, so both records will be created at once. Matching values will also be searched for across both entities. (If Business Customer name is different from Account name, it will be displayed in parentheses.)

    Note that the new controls still allow you to create a related customer or contact record in a popup via + button if you want to enter all their data—typing in the name is not mandatory, but rather a quick and convenient option.

    The form was also redesigned to better structure and present Opportunity information

    • All text fields—Customer need, Proposed solution, and Additional comments—were converted to rich text.
    • Close date was renamed Expected Close Date so it can be used for revenue forecasting.

    Manage Opportunity status directly and tie it to Probability

    As with Leads, Opportunity status is also available for direct manipulations on Edit forms and in grids. However, to further improve Sales rep user experience, we also added the ability to connect it to Probability field, so that it will change accordingly to a predetermined default value. This is the default list of statuses and their related probabilities:

    | Status | Probability | | --- | --- | | Open | 0% | | Identification & Alignment | 10% | | Needs Analysis | 20% | | Solution Development | 50% | | Negotiation | 80% | | Closed Won | 100% | | Closed Lost | 0% |

    The probability will change along with the status in create and edit forms, workflow transition forms, and even when the status is changed inline in the grid. The user will still be able to manually change the probability if they want to, but please note that in this case the default values will no longer be applied after status change. If a certain status has no default probability value, the probability will remain unchanged after this status is applied.

    System administrator can change the list of statuses and their related probabilities in CRM > Sales Pipeline > Opportunity section of System and Organization configuration. (The list of statuses can only be managed at the system level.) Please note that three statuses—Open, Closed Won, and Closed Lost—cannot be removed, although they can be renamed; assigned probabilities for Closed Won and Closed Lost statuses are also fixed.

    Two options for Opportunity management: workflow or full freedom

    We want to provide our users with as much flexibility in opportunity management as possible, and to achieve that in 1.10 release we have supplied two options.

    Full freedom option is turned on by default. In this case, all Opportunity fields are exposed for editing, so Sales reps may mark an opportunity closed as won by simply editing its status in the grid. This option allows the most flexibility and convenience in data modification. However, this also means data integrity is not enforced, and the Sales rep bears full responsibility of avoiding mistakes such as open opportunity with the close reason and close revenue. We recommend this option to smaller businesses that don't have a lot of opportunities or a lot of sales representatives, as in this case advantages of added convenience will overweight the possible mistakes in the data.

    Workflow can be turned on by the administrator. Our default workflow ("Opportunity Management Flow") consists of three steps: Open, Won, and Lost. When the workflow is active, it applies restrictions to opportunity edits; however, these restrictions are less severe than ones imposed by the Sales Process workflow, when Opportunity couldn't be edited at all. The restrictions are as follows:

    • In Open step neither Closed Won nor Closed Lost statuses can be selected. Close reason and Close revenue fields are also blocked. This applies to both Create and Edit forms.
    • In Won and Lost steps Account, Status, Probability, Budget amount, and Expected Close Date are also blocked in addition to Close Revenue and Close Reason.

    The workflow option is designed to maintain a certain degree of flexibility in opportunity management while also ensuring the integrity of sales data. We recommend this option for larger organizations with big amount of opportunities in the pipeline in which case data consistency is more of an issue.

    Please note, that when you enable a workflow over existing opportunities, you will have to start it for every record manually via special Start workflow transition. This only makes practical sense for open opportunities.

    More out-of-the-box grid views for Opportunity

    Similarly to Lead management, we've added a bunch of new grid views and changed the default to Open Opportunities. The rationale of this change was the same: to focus Sales reps on the work to be done instead of already completed work. Here are views we've added:

    • Open Opportunities (new default) – opportunities that are neither lost nor won.
    • Overdue Opportunities – opportunities that have expected close date in the past but still remain open
    • Recently Closed Opportunities – opportunities that were won in the last 30 days

    Kanban Board for Opportunities

    Kanban Board is a special data view for Opportunities that allows Sales reps to move an opportunity through the pipeline by simply dragging its card between status columns.

    Kanban Board appears as a set of columns that match Opportunity statuses. Every Opportunity record is represented by a card that contains its name, budget, probability, related Account, owner, and created at date. Opportunity name is clickable and leads to the view page; and the top right corner of a card contains the three-dot action control where other record actions such as Edit and Delete can be found.

    The board can be filtered and sorted by any field except for the status. Only the top 5 cards are displayed in every column by default; more (again, up to 5 cards in each column) will be loaded when you scroll the board down. The number of loaded cards and the total number of cards is displayed on top of the board.

    Kanban Board is available only when Opportunity entity has no active workflow (the "full freedom" option). In this case, a switch between grid and board views will appear next to grid controls. When you switch between grid and board views all filters and sorting remain applied. The board view can be saved in the same way the grid view is saved; view type will be shown as an icon next to the its name in the list of data views.

    We've developed Kanban Board as the universal data view that can be applied to any entity, but for start have turned it on only for Opportunities. More will follow in the future releases!

    Sales dashboard improvements

    Search for widgets in Add Widget dialog

    To ease the task of looking for the necessary dashboard widgets in the ever-growing list we've added instant search to the Add Widget dialog. Simply start typing the name of the widget you're looking for and the widget list will be filtered to match your entry.

    We're also highlighting the widgets you already have on the dashboard.

    Filter widget data by owner

    We redesigned and standardized the ownership filter and expanded it to most out-of-the box widgets. The control now allows to filter data in widget by individual owners, whole teams (business units), or entire user roles.

    Another great addition is the ability to filter by the current user or their team—this option allows the administrator to set up a single team dashboard where every user will see their own data.

    Filter widget data by date range

    We've also redesigned and standardized the date range filter in widgets. It now allows you to simply choose a convenient reporting period, such as "today," "this week," or "this quarter," choose if you want to compare to the previous period, and be done with it! The option for a custom range also remains available in the list.

    Filter widget data by pipeline

    This filter makes widget configuration as versatile as our segmentation—indeed, we've built our entire filtering tool into widget config! Click on Advanced Filter to expand it, and then drag and drop the filtering query of any complexity. Filter opportunities by naming convention or by budget size; apply filters to the number of contact attempts, or to the state of residency of the related contact—whatever are borders of your sales pipeline, you now can filter it out and follow it in the widget!

    Please note that this filter is available in the Forecast widget only. We will expand it to other widgets in the future releases.

    Opportunities by status widget improvements

    To match the grown number of opportunity statuses and to make it capable of handling many more we've decided to make bars in this widget horizontal. In addition to that, we've made possible to exclude unnecessary statuses from the chart, and to display data in either total budget of opportunities, or their count.

    Opportunities by lead source widget improvements

    Similarly to the previous widget, the list of lead sources being displayed in this widget can now be truncated—however, they're not hidden entirely but combined under Other pie slice, so the percentage remains correct (you should always have the whole pie!). Opportunities with no leads, or with no lead source are also accounted for. And this widget can also be configured to display data calculated from total count of opportunities or from their combined budgets.

    Leads list and Opportunities list widgets

    These are two simple widgets that display a list of lead or opportunity records for quick access. By default both display only open items that are owned by the current user, but can be configured to display any necessary data.

    Personal application configuration

    A long-requested feature by our community and customers alike is finally available in OroCRM! Now every user will be able to custom-tailor the application to their own taste by overriding system and organization configuration in the following areas:

    • Applicaiton language
    • Locale
    • Various display settings, such as menu bar location or the number of rows in a grid page
    • Email configuration

    Please note that parts of email configuration—mailbox setup and personal signature—were moved from Edit User page.

    User configuration page can be accessed via button on the user view page or via My Configuration item in the My User menu.

    Role management and ACL

    Field-level ACL

    Field-level ACL is the biggest improvement to our ACL engine to date. It works exactly like you expect, allowing the administrator to control user access (Create, View, Edit) to certain entity fields.

    With this feature administrators will be able to configure access to Opportunities in such a way so that sales representatives will be able to see their co-workers' opportunities without the budget, status, or probability fields. Such limitation of access both helps to protect sensitive data and increase sense of competition.

    To manage ACL on the field level the administrator has to turn it on in the respective entity configuration first. Within this release field-level ACL will be available out of the box for Account and Opportunity entities only, but we will add support for more entities in the future.

    We would like to thank our community members Trustify (@trustify) and Ivan Shakuta (@ishakuta) who have contributed significantly to the development of this feature.

    View roles

    Role view page has been added to the system to give both administrators and non-administrators a way to read capabilities of a certain role without having to edit it (and risking making undesired changes).

    Clone roles

    Clone option for roles will save OroCRM administrators a great deal of time and effort when they need to create a new role—instead of starting from a clean slate they would be able to reuse an existing role and only make the necessary adjustments.

    New role management UX

    As the number of entities and system capabilities in OroCRM grows, so does the Role management page. To reduce the effort required for role management and maintenance we have developed a new UX for the Edit Role page.

    The most noticeable improvement in the new UX is the functional separation of entities and capabilities. Four main domains—Account management, Sales, Marketing, and System capabilities create clear structure for all ACL items and helps the administrator to check if permissions for a certain role indeed match functions of its user.

    The new UX is also scalable for unlimited number of actions that are introduced with this release on the platform level. Access level for every entity action can now be configured within a single row. All action permissions for a single entity can be set to the same value with a single "mass" action, allowign the administrator to save time, especially in situations where access has to be disabled completely.

    Other features and improvements

    General user experience

    Save and New option

    This Save button option will come in handy when you want to create multiple records in succession—it will save you a lot of time by eliminating the need to go back and forth between grid and record views.

    Range filters for numbers

    All numeric values can now be filtered by a range query, i.e. between X and Y or not between X and Y. All other filter options are now spelled out in plain words instead of mathematical operators for better legibility.

    Export grids to Excel

    Contents of an entity grid can now be exported to Excel file (.xlsx) in addition to standard CSV export. Please note that it applies to Export Grid functionality only, not the generic entity export.

    We want to thank our community member Sufijen Bani (@sbani) who had contributed the PR for this feature.

    Activities

    Enter call duration as text

    While not directly related to Sales rep experience, this feature nevertheless will save a lot of time and effort for anyone whose job requires making and logging a lot of calls. Call duration can now be typed in in a human-friendly format, such as 1h 2m or 12m 45s. Fractions are also permitted, e.g. 1.5m will be correctly processed as 1 minute 30 seconds.

    Preview attached images

    You can now preview images attached to either entity records or emails directly in the application, eliminating the need to download them first. Click on the image to open a gallery where you can view all images attached to this particular entity record or email thread. The gallery also allows you to zoom the image in or out, download the image, or print it.

    Manage task status without a workflow

    In the same way we allow to manage Lead and Opportunity status directly, we've exposed Task status for direct manipulations in case the workflow is turned off, giving you the "full freedom" task management option if you prefer it.

    Record pagination for emails

    Email threads accessed from My Emails page will now have pagination controls for quick navigation between threads, similarly to other entities.

    Calendar

    Recurring events

    My Calendar can now display recurring events. Although they cannot be managed from the UI just yet, they will be properly rendered when synced with an external source, such as Outlook.

    Non-OroCRM guests

    Calendar events can now display guests that are not OroCRM users. Although such guests cannot be managed from the UI just yet, they will be properly rendered when synced with an external source, such as Outlook.

    Other improvements

    • Week is now the default view for My Calendar
    • The system remembers the user's choice of My Calendar view and applies it the next time
    • Time selectors are no longer shown for all-day events

    Contact management

    Create contacts with any piece of information

    Similarly to changes in Lead requirements, we've eased the list of mandatory Contact fields. Now a Contact can be created with just one of the following fields:

    • First name
    • Last name
    • Email
    • Phone

    Merge contacts

    Similarly to Accounts, you can now merge up to 5 contacts into a single record. The user interface is the same: select the desired contacts in the grid with checkboxes, then click Merge button in the list of mass actions, and finally specify the master record and choose output values or merge strategy for every attribute.

    eCommerce

    Activate or deactivate Magento integration

    In addition to full deactivation of Magento channel that hides its data from UI completely, we now allow to deactivate only the integration—in this case the data will remain accessible (e.g. as an archive) but will no longer be synced with the Magento store. When the integration is re-activated, the data is fully re-synced according to the sync strategy.

    Customer tracking data on Account view

    If Magento web tracking is turned on, you will now find a handy tracking data widget on both Magento Customer and Account views. The widget displays a timeline of recorded events (page visits, items added to cart, and checkouts entered) and a list of metrics such as total site visits, days since the last visit, most viewed page, and so on.

    Abandoned revenue widget for eCommerce dashboard

    This is a new widget for eCommerce dashboard that displays

    • Abandoned revenue—the total amount of all open carts, so you can estimate the potential outcome of an abandoned cart conversion campaign
    • The number of open carts
    • Abandon rate—the percent of all shopping carts that convert to orders. This metric gives you the understanding of your checkout process efficiency or the results of your cart conversion efforts.
    • Line chart that shows progression of abandoned revenue over time.
    Source code(tar.gz)
    Source code(zip)
  • 1.9.7(Aug 11, 2016)

    List of improvements and fixes:

    • Added scalable Business unit and Owner selector to improved filters performance
    • Added organization component in organization structure
    • Fixed unenable to removed address from B2B customer
    • Fixed mass deletion for huge data
    Source code(tar.gz)
    Source code(zip)
  • 1.9.6(Jul 15, 2016)

    List of improvements and fixes:

    • Login performance and OwnerTree cache issue. Fix performance of OwnerTreeProvider
    • Unique key with no Name created
    • Integrity constraint violation during IMAP synchronization
    Source code(tar.gz)
    Source code(zip)
Owner
Oro, Inc.
Oro, Inc.
ZAP CRM is Customer Relationship Management portal built using PHP Codeigniter 4 & Tailwind CSS framework.

ZAP CRM ZAP CRM is Customer Relationship Management portal built using PHP Codeigniter 4 & Tailwind CSS framework. Screenshots User (Dashboard) Admin

Dawood Khan Masood 5 Feb 2, 2022
Krayin CRM is a hand tailored CRM framework built on Laravel and Vue.js

Krayin CRM is a hand tailored CRM framework built on some of the hottest opensource technologies such as Laravel (a PHP framework) and Vue.js a progressive Javascript framework.

Krayin CRM 1.1k Jan 3, 2023
EspoCRM open source CRM application

EspoCRM is an Open Source CRM (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.

EspoCRM - Open Source CRM 1k Dec 29, 2022
DaybydayCRM an open-source CRM, to help you keep track of your daily workflow.

====================== DaybydayCRM is an everyday customer relationship management system (CRM) to help you keep track of your customers, tasks, appoi

Casper Bottelet 2.1k Jan 3, 2023
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
phpIPAM is an open-source web IP address management application.

phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application. It is ajax-based using jQuery libraries, it uses php scripts and javascript and some HTML5/CSS3 features, so some modern browser is preferred to be able to display javascript quickly and correctly.

Miha Petkovsek 1.8k Dec 31, 2022
OpenEMR is a Free and Open Source electronic health records and medical practice management application

OpenEMR is a Free and Open Source electronic health records and medical practice management application. It features fully integrated electronic health records, practice management, scheduling, electronic billing, internationalization, free support, a vibrant community, and a whole lot more. It runs on Windows, Linux, Mac OS X, and many other platforms.

OpenEMR 2.1k Jan 9, 2023
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
CRM project that I developed with ReactJS and Laravel 8.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Harun Doğdu 4 Nov 28, 2021
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).

Dolibarr ERP CRM is a modern software package to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). It is open source software written in PHP and designed for small and medium businesses, foundations and freelancers. You can freely install, use and distribute it as a standalone application or as a web application to use it from every internet access and media.

Dolibarr ERP & CRM 3.7k Jan 7, 2023
Our team created for you one of the most innovative CRM systems that supports mainly business processes and allows for customization according to your needs. Be ahead of your competition and implement YetiForce!

We design an innovative CRM system that is dedicated for large and medium sized companies. We dedicate it to everyone who values open source software,

YetiForce Sp. z o.o. 1.3k Jan 8, 2023
Admidio is a free open source user management system for websites of organizations and groups

Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio 214 Jan 1, 2023
Powerful, yet easy to use, open-source online ordering, table reservation and management system for restaurants

TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online food ordering and table reservation to their custom

TastyIgniter 2.4k Dec 27, 2022
Snipe-IT - A free open source IT asset/license management system

Snipe-IT - A free open source IT asset/license management system

snipe 7.2k Jan 4, 2023
Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal 3.8k Jan 4, 2023
A complete open source hotel management system built with Laravel Framework.

Hotelio : Hotel Management System Hotelio is a open source hotel management system that manages your hotel operations, smoothly, effortless. Hotelio i

Mehedi Jaman 10 Dec 6, 2022
Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms 1.1k Dec 22, 2022
Mibew Messenger - open-source live support application written in PHP and MySQL

Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.

Mibew Messenger 443 Dec 13, 2022
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

opensourcepos 2.7k Jan 2, 2023