Implementing multi-tenancy in espocrm

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nisamudeen97
    Junior Member
    • Jun 2023
    • 1

    Implementing multi-tenancy in espocrm

    Hi,

    One of our customer needs to customize espocrm so that he can store multiple clients data in the same espo installation. So that he can avoid multiple hosting requirement and similar clients data can be collected using same api url. Single database where different clients data can be segregated using tenant ID

    Has anyone tried the same and achieved this? Can you please share the experience and difficulties you have faced in achieving the goal ? Also let me know how further espo updates can be managed?​
    Last edited by nisamudeen97; 06-10-2023, 10:52 AM.
  • shalmaxb
    Senior Member
    • Mar 2015
    • 1606

    #2
    Hello, though in the moment I cannot contribute in form of a working example, I consider this question interesting enough to be discussed a bit in this forum. I myself provide that function in my app, without having any client so far, who would use it.
    Sure I already had my thoughts about the problems and obstacles it could cause in a working environment. This is not so much because of espoCRM. For the software as such I guess it will not be a problem. Which is more to be thought about is, how your customer will manage different clients. It would be a desaseter if suddenly one client would see the data of another, besides of all the mess, wrong design and mistaken use of the app could cause.
    As far as I know, there is no written approach so far for this kind of use scenario. In case you gonna start to realize it, I would appreciate you posting here your steps and progression. I think, when different people discuss this subject, there could be a benefit for all.
    I myself would be in into such discussion.

    Comment

    • yuri
      Member
      • Mar 2014
      • 8453

      #3
      Espo is not suitable for true multi-tenancy as well as most of similar products as far as I know (even when they claim being multi-tenant the question is it a true multi-tenancy?).
      If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

      Comment


      • yuri
        yuri commented
        Editing a comment
        In the era of containers, having having multiple databases, app instances and sub-domains is not a problem and shouldn't be a reason to try to implement a true multi-tenant app which would bring a lot more issues to solve.

      • yuri
        yuri commented
        Editing a comment
        Plus, just for information, our extension licenses are not compatible with multi-tenancy.

      • rabii
        rabii commented
        Editing a comment
        just wondering isn't the cloud version is a multi-tenant app ? i always thought that making espocrm multi-tenant will be not good hence it is like competing against the cloud version.
    • rogoc
      Junior Member
      • Aug 2024
      • 3

      #4
      License-wise, how would the situation be covered, in which a single person wants to employ a CRM application for all organisations in which he is involved in: membership association, scholarship foundation, public good corporation, ...?

      Comment

      • shalmaxb
        Senior Member
        • Mar 2015
        • 1606

        #5
        There are some very different scenarios imaginable. I developed an app with espoCRM, which has different variations, which depend on what of the entities the user will use. So it is more like essential configuration, a basic configuration with more features and a full configuration with all features and entities activated. I offer all these variations with the same app and the different variations I configure by team and role.
        espoCRM is great for that, because, if one entity is not activated, all dependencies with not activated entities are deactivated as well. It is like modular this way.
        Important for this approach is, that the entities themselves are all the same for the different variations.

        It will be much more complicated, when you want to modify the features in entities itself to mirror, what a certain user group will need. As example, if you have for one organisation a certain set of fields, that should be displayed together with conditional functionality, this is possible, but very, very complicated to maintain. In such case I would prefer an individual CRM for every organisation.

        If you only have different contacts, but the entities and their functionality will be the same, this would be possible, but depending a bit on what you will want to have in your contact records.
        I inserted a custom field in contacts, named address group, so I can display or hide fields depending of the role a contact has. And that is already quite complicated to configure.

        Comment

        Working...