More Notes on Symfony Event Dispatch

As hinted at by the last post, I've spent more of my "Oro Time" this week mired in Symfony's event dispatcher. There's a few other things I've found that are worth sharing. First, the web profiler appears to have a bug where it will incorrectly list a called observer as…

Extending Symfony's Event Service

One important concept in Symfony 2 (the framework OroBAP/OroCRM is built-in/on-top-of) is the service container. Programmers create classes and class hierarchies for myriad reasons — one way of looking at a service container is it allows a programmer to say Hey, this class? It's a service. It provides an…

Flexible Entity Manager

While OroCRM uses the Doctrine 2 Object Relational Mapper (ORM), the OroCRM core development team has extended standard Doctrine with a number of enhancements (working mostly within the systems provided by Doctrine) to implement a Flexible Entity System. The Flexible Entity system offers an end-user with little to no development…

OroCRM and Shell Commands

Benoit Jacquemont (Akeneo CTO (Akeneo is a PIM system build on OroBAP)) posted a few comments to this GitHub thread that, if you read between the lines, make it pretty clear OroCRM's 1.0 product will ship with parts of the system dependant on Symfony's Symfony\Component\Process\Process object.…

OroCRM Installer Commands: Part 3

We're reviewing the Symfony app/console commands OroCRM beta 6 uses to install itself. Today's our last mad blitz, so let's get started. doctrine:fixtures:load The doctrine:fixtures:load command, another Symfony built-in, will load all the doctrine fixtures. For those not familiar with the concept, think of fixtures…

OroCRM Installer Commands: Part 2

We're reviewing each app/composer step in the OroCRM beta 6 installer. This post will cover the installation steps handling Oro's flexible entity system. oro:entity-config:init OroBAP has a "flexible entity" system with goals similar to Magento's EAV system, but with a completely different implementation. This means OroBAP needs…