There is a pretty common issue that we have seen come up again recently a few times. How to best support features of different editions of SugarCRM without knowing the ultimate edition that a module gets installed on. More specifically, how to support team security while also allowing a module to support CE. It comes up in two different scenarios:
- Scenario 1: A module created originally for Pro or above wants to add support for CE
- Scenario 2: A module created originally for CE wants to add support for Pro and above
In Scenario 2, not adding support for teams won't cause any blocker issues that prevent SugarCRM from being usable. The main issue there is that an organization just can't take advantage of team security for that module. Obviously adding support for teams can be a big benefit and need for many organizations.
Scenario 1 is where you can run into big issues. If your module was originally intended for Pro or above and now supports CE and proper care isn't taken your users may/will run into issues that render the module useless. Here is a common error message that will appear:
Msg 207, Level 16, State 1, Line 9 Invalid column name 'team_set_id'.
The change required to cover both Scenario 1 and 2 is straight forward. We check the flavor (edition) of the current instance in the vardefs and turn on/off team support based on what we find:
By checking the $sugar_flavor we can determine whether we want to enable team security or not. It's as simple as adding this to any module's vardefs.php that needs to support teams.
-
Sugar Integrate for Xpressdocs
FEATUREDSugar Integrate for Xpressdocs automates your marketing capabilities by enabling the integration of Lead and Contact data from Sugar with Xpressdocs's on-demand direct mail service. Xpressdocs di...
-
Sugar Connector for Jira
FEATUREDGet a 360 degree view for your Support and Dev-Ops Teams. Give the users the ability to work and track Jira issues within Sugar.
-
Filter Deployer
Allow users to quickly and easily share filters to other users. Admin users can create templates of filters from multiple users to deploy to users, teams, or roles.
- Show more addons