Integrating SuiteCRM with legacy application


In my company, we are setting up SuiteCRM to act as a central point for all our users, allowing them to access not just the CRM functionality but also access functionality from our legacy and other systems, and I was wondering what the best approach would be?

For example, at the moment, we have an application that holds customer specific information in an Oracle database. It would be nice if that could be represented in SuiteCRM as a custom module (e.g. accessible from a drop-down menu, visible in Studio, etc), allowing our users to view and update that information.

I have looked at Connectors, but there doesn’t seem to be a lot of documentation about them and the few that are already implemented are a bit sparse. It also looks like this is for read-only access for external data.

My next thought was to implement my own DBManager to access the data in the remote database. Assuming it could be done, this approach would allow me to use my legacy data exactly as I would any other data in the CRM. However, it is not clear how I would create such a module (since using Module Builder would create the tables etc in the SuiteCRM database).

Another approach I have considered is to create my custom module by hand and not to extend SugarBean, but to implement all of the functionality myself. However, I am still left wondering how this could be integrated into SuiteCRM

Am I missing something simple here?



See if this helps


Yes, I had seen that, but (as far as I can tell) Connectors are read-only, you can’t use them to update the remote data



That example is read-only, I hope there could be some functionality to also write out data. But I don’t know anything about Connectors so I’ll just shut up :slight_smile:

I guess a new DBManager is not the way to go, that’s for a different database kind, not for a data source.

I guess it shouldn’t be too hard (well maybe) to have a “bogus” custom module in SuiteCRM, that has fields, views, but never actually writes anything much to its database table. But then you can hook all the views in order to get the data from the external API, and also to write it.