What Is Best Approach To Combine 2 Applications

I would like to hear your experiences/ expert opinion on the best approaches to look at to combine 2 apps. I have an existing large application to which I have been asked to add many CRM features. x2engine meets the CRM requirements, so the ‘not re-inventing the wheel’ approach is to combine them. Looking around I have a few ideas and how to combine them, but not sure which is the best ones to try first. Possible approaches are:

  • make one app a module and plug that into the other (how easy is it to make a 3rd party app a module?)

  • merge the 2 directory structures and rename my SiteController (SiteController is the only name clash)

  • keep them separate and use an API to share information and views between them

  • any other approaches I should consider

The aims of combining the applications are:

  • existing app shall send events (quotes, sales, order progress etc) to the CRM

  • this may trigger workflows in CRM which will add ToDo(s) to the user in the CRM

  • the existing app shall be able to show users a summary view their ToDos

  • a few pages need links to go from app views to CRM views and vice versa

The constraints I am working within are:

  • single sign-on within the existing app

  • not all users are allowed access to the CRM

  • ideally keep same layout (though I could make a theme for the CRM, that looks like the existing app).

  • minimal (preferably zero) changes to CRM code, to make taking updates easy

I will write up my lessons learnt, when this is finished for all to benefit from.

Thanks in advance,