OroBAP's Twig Placeholder Tag

Poking around one of the base OroCRM templates, I came across an odd looking tag I'd never seen before. #File: vendor/oro/platform/src/Oro/Bundle/UIBundle/Resources/views/Default/index.html.twig ... {% placeholder scripts_after %} ... Some quick Googling left me stumped — I couldn't find any reference to a placeholder…

OroCRM Job Queue

Once you have OroCRM installed, if you navigate to System -> Job Queue you'll see OroCRM features a job queue. You won't, however, find a lot of explanation about what this is. If you're not familiar with the concept, a job queue is a way for a programmer to…

OroCRM Virtual Machine

The OroCRM has has released a virtual machine containing the latest source as a virtual machine. This is welcome news for developers who hate setting things up themselves, and also welcome news for developers looking for a reference implementation.…

Twig Templates, Initial Cache Hit

OroCRM uses Symfony's delegate template engine, which means developers are free to use any template service added to the Symfony configuration. This usually means twig. I'm tracing the execution of a full twig render, and I'm starting to see why twig's initial cache hit is so performance heavy. Here's one…

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…

OroCRM Installer Commands: Part 1

As mentioned earlier, Oro's app/console oro:install command actually runs several smaller app/console commands. Over the next few days I'm going to give a brief overview of what each installer step does. Caveat: This is for beta 6, and my understanding of Oro's systems is still in beta…