Integrating third party components

lsmith77 edited this page Jan 16, 2013 · 5 revisions

When we integrate third party components into the CMF, there are basically 3 options. The first 2 try to find a solution to not create unneeded hard dependencies.

1. Integration classes in the CMF bundle

Write integration classes in a CMF bundle and load service if 3rd party bundle is available. For example Sonata Admin classes

  • Use case: We have a lot of CMF specific logic to maintain for the integration

2. Integration classes in 3rd party component/bundle

Write CMF integration classes in the 3rd party component/bundle and only load them if the CMF is available

  • Use case: When this is just a small adapter to implement some CMF interface

3. New integration bundle

Write a new bundle which depends on both the CMF and the 3rd party component/bundle and write integration code in that new bundle.

  • Use case: When the whole thing is quite big and out of scope of the base CMF and 3rd party component/bundle(s) that is/are integrated.

4. Integration in the application

Write the integration directly in the application using it.

  • Use case: Application specific things that have no big potential for reusing.
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.