OroCRM, the new kid on the Symfony2 block

There are many hard and risky decisions that need to be made
when starting a new open-source project. We wanted to share with you
how for OroCRM one of the best decisions we have made so far is
selecting the Symfony2 framework to create our vision.

Oro's founders spent 5 years building and designing the Magento eCommerce
product. During our years at Magento we worked with thousands of companies.
As we did, we learned that there is a gap in Customer Relationship Management
tools. There was no tool in the market that allowed businesses to manage both
their B2C and B2B customers in one system. Moreover, there was no open source
solution that allowed businesses full flexibility and control over their
business applications. After leaving Magento we started working on OroCRM,
an Open Source Customer Relationship Management application that addresses the
needs of small and medium businesses. OroCRM is specifically designed to fill
the CRM gap in the multi-channel and eCommerce space. When we started designing
our new application we looked for a platform that would give us the right
starting point, as we did not want to recreate basic back-office features like,
User Management, Global Record Search, Data Audit, Permissions Management
(ACL), etcÉ We were surprised that no such platform written in PHP existed. We
decided in parallel to creating OroCRM, we would also create a Business
Application Platform (BAP) that would include these basic application building
blocks. And thus the Oro Platform was born. We are happy to share that aside
from our application, Akeneo, the open-source PIM application, is already
using the Oro Platform to create their application and are actively
contributing back to the platform. We also know of many others building
business applications for internal company use, or product commercialization.

Having developed in PHP for the last 10 years, we were committed to it as our
programming language, but wanted to find the right framework to build our new
vision. We quickly fell in Love with Symfony2 and the choice was made. Symfony2
is easy to use and develop with. The framework guides the developer to write
code in a clear and straightforward way, which helps to assure we maintain a
consistent development approach in a large project like Oro. The framework is
mature and utilizes the right design patterns for fundamental components. It is
flexible, configurable and extendible with a very powerful bundle based modular
model that allows us to easily introduce new functionality as well as customize
and extend existing capabilities. Because performance is key for Oro, we
benchmarked Symfony2 against some of the other frameworks on the market and
found it to be one of the faster ones, and with all things considered not as
greedy as one might expect.

There are a plethora of developer resources and documentation to get started
with Symfony2, which makes it easy to adopt, and our developers learned the
framework quickly, writing code within just a few days. With so much on the
line in terms of time and investment that goes in to building a new product we
needed a framework that would be continuously supported and developed for years
to come. With Symfony2 being backed by SensioLabs we know there is a strong
company that supports this project and is committed to its success.

For any open-source project, having a large and vibrant community is critical
to success. We were amazed by the ecosystem around the Symfony2 project and are
looking forward to collaborating and contributing back to it. We were also
impressed with the level of some of the 3rd party vendors like BeSimple,
Liip, Doctrine, Friends of Symfony
and KNPLabs and are using some
of their bundles in Oro. We also hope that Symfony2 developers find opportunity
with OroCRM and Oro Platform, by either, contributing code, developing new
features and extensions for OroCRM or building new applications using the
Oro Platform. We are in the process of finalizing our contribution process
and working on our extension market place that will allow developers to list
their extensions and their applications. One aspect that we need help with
right away is documentation, so if anyone is interested in helping please feel
free to contact us at info at orocrm.com.

We are happy to be a part of this community and are looking forward to helping
it grow and succeed.