Control what your users can access and save time, money, and frustrations. Lock down sensitive data in SuiteCRM to specific groups or teams. Supports unlimited assigned users, unlimited group assignments to records, custom layouts for each group, login/sudo capabilities and much more.
#4216 - Conflict/Issue between SecuritySuite and SuiteCRM Role Module
OS: Debian 10 updated to latest version Web Server - Apache2 PHP 7.3.31-1~deb10u1 (cli) (built: Oct 24 2021 15:18:08) ( NTS ) mysql Ver 15.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 SuiteCRM version 7.12.5 but was also happening with 7.11.x SecuritySuite Plugin is installed Customer Portal (WordPress) plugin is installed as well
We installed the SecuritySuite on the latest version of SuiteCRM. When I went into the Roles section in the Admin section of SuiteCRm, the following php error would come up:
Fatal error: Uncaught Error: Call to undefined method ViewDetail::ViewDetail() in /var/www/html/custom/modules/ACLRoles/views/view.classic.php:10 Stack trace: #0 /var/www/html/include/MVC/View/ViewFactory.php(279): ACLRolesViewClassic->ACLRolesViewClassic() #1 /var/www/html/include/MVC/View/ViewFactory.php(244): ViewFactory::_buildClass(‘ACLRolesViewCla…’, Object(ACLRole), Array) #2 /var/www/html/include/MVC/View/ViewFactory.php(97): ViewFactory::_buildFromFile(‘custom/modules/…’, Object(ACLRole), Array, ‘classic’, ‘ACLRoles’) #3 /var/www/html/include/MVC/Controller/SugarController.php(422): ViewFactory::loadView(‘classic’, ‘ACLRoles’, Object(ACLRole), Array, NULL) #4 /var/www/html/include/MVC/Controller/SugarController.php(363): SugarController->processView() #5 /var/www/html/include/MVC/SugarApplication.php(101): SugarController->execute() #6 /var/www/html/index.php(55): SugarApplication->execute() #7 {main} thrown in /var/www/html/custom/modules/ACLRoles/views/view.classic.php on line 10
No errors appear in the suitecrm.log file, but Apache2's error log showed the following: [Fri Mar 25 16:00:35.835927 2022] [php7:error] [pid 15891] [client 172.16.90.2:51944] PHP Fatal error: Uncaught Error: Call to undefined method ViewDetail::ViewDetail() in /var/www/html/custom/modules/ACLRoles/views/view.classic.php:10\nStack trace:\n#0 /var/www/html/include/MVC/View/ViewFactory.php(279): ACLRolesViewClassic->ACLRolesViewClassic()\n#1 /var/www/html/include/MVC/View/ViewFactory.php(244): ViewFactory::_buildClass(‘ACLRolesViewCla…’, Object(ACLRole), Array)\n#2 /var/www/html/include/MVC/View/ViewFactory.php(97): ViewFactory::_buildFromFile(‘custom/modules/…’, Object(ACLRole), Array, ‘classic’, ‘ACLRoles’)\n#3 /var/www/html/include/MVC/Controller/SugarController.php(422): ViewFactory::loadView(‘classic’, ‘ACLRoles’, Object(ACLRole), Array, NULL)\n#4 /var/www/html/include/MVC/Controller/SugarController.php(363): SugarController->processView()\n#5 /var/www/html/include/MVC/SugarApplication.php(101): SugarController->execute()\n#6 /var/www/html/index.php(55): SugarApplication->execute()\n#7 {main}\n thrown in /var/www/html/custom/modules/ACLRoles/views/view.classic.php on line 10, referer: https://crm.diversityarrays.com/index.php?action=ajaxui
After disabling the SecuritySuite plugin, the error went away and the Roles module loaded up without any issues.
2 years ago
Could you send over the version of SecuritySuite that is installed? This should be visible under the Module Loader page within SuiteCRM. Thank you!
2 years ago
Version 3.1.29
2 years ago
Thanks! This has been addressed in the latest version. Please grab 3.1.31 from your downloads at https://store.suitecrm.com/orders for SuiteCRM 7.12.5. Install, run Quick Repair/Rebuild, Rebuild Relationships, and Repair Roles. The error should be gone at that point.
Let me know if you have any questions.
2 years ago
Now I am getting:
I've installed the latest version of the plugin and did the repairs as stated. Now I am getting:
Warning: include(metadata/securitygroups_acl_rolesMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(): Failed opening 'metadata/securitygroups_acl_rolesMetaData.php' for inclusion (include_path='/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(metadata/securitygroups_defaultsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(): Failed opening 'metadata/securitygroups_defaultsMetaData.php' for inclusion (include_path='/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(metadata/securitygroups_recordsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(): Failed opening 'metadata/securitygroups_recordsMetaData.php' for inclusion (include_path='/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131 {"content":"
2 years ago
Try another Rebuild Relationships. Due to making the module inactive, it may have ran into an issue rebuilding the relationships.
If that still fails then this can be solved by unzipping the install package and copying over the 5 files in /install_dir/relationships/SecurityGroups to the /metadata directory of your install. Then Rebuild Relationships again.
2 years ago
I should add that even after uploading the zip file and installing and running the repairs, the Moduke does not show as installed.
2 years ago
Sorry about the challenges here. SuiteCRM can be really finicky with it's module loader. If it isn't showing as installed then the installation is failing at some point. Usually, this is a file permissions issue that causes module loader not to be able to unzip the package and/or copy over the files to it's final destination. Addressing the permissions and running the installer again will resolve this unless permissions are still not quite right.
2 years ago
All the permissions are correct as per SuiteCRm's documentation. Here is the log of what happens when I try to install SecuritySuite from the Module Loader:
Notice: Undefined property: bc_proposal::$line_items in /var/www/html/modules/bc_proposal/ProposalLine_Items.php on line 7
Warning: include(metadata/securitygroups_acl_rolesMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(): Failed opening 'metadata/securitygroups_acl_rolesMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(metadata/securitygroups_defaultsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(): Failed opening 'metadata/securitygroups_defaultsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(metadata/securitygroups_recordsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(): Failed opening 'metadata/securitygroups_recordsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(metadata/securitygroups_acl_rolesMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(): Failed opening 'metadata/securitygroups_acl_rolesMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(metadata/securitygroups_defaultsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(): Failed opening 'metadata/securitygroups_defaultsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(metadata/securitygroups_recordsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(): Failed opening 'metadata/securitygroups_recordsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131 Including: cache/upgrades/temp/C39tmX/scripts/post_install.php Adding for Leads Adding for Cases Adding for Bugs Adding for ProspectLists Adding for Prospects Adding for Project Adding for ProjectTask Adding for Campaigns Adding for EmailMarketing Adding for Users Adding for Contacts Adding for Accounts Adding for Opportunities Adding for EmailTemplates Adding for Notes Adding for Calls Adding for Emails Adding for Meetings Adding for Tasks Adding for Users Adding for Alerts Adding for Documents Adding for Spots Adding for EAPM Adding for AM_ProjectTemplates Adding for AM_TaskTemplates Adding for AOK_Knowledge_Base_Categories Adding for AOK_KnowledgeBase Adding for FP_events Adding for FP_Event_Locations Adding for AOD_IndexEvent Adding for AOD_Index Adding for AOP_Case_Events Adding for AOP_Case_Updates Adding for AOR_Reports Adding for AOR_Scheduled_Reports Adding for AOS_Contracts Adding for AOS_Invoices Adding for AOS_PDF_Templates Adding for AOS_Product_Categories Adding for AOS_Products Adding for AOS_Quotes Adding for AOW_WorkFlow Adding for AOW_Processed Adding for jjwg_Maps Adding for jjwg_Markers Adding for jjwg_Areas Adding for jjwg_Address_Cache Adding for Calls_Reschedule Adding for SecurityGroups Adding for OutboundEmailAccounts Adding for TemplateSectionLine Adding for SurveyResponses Adding for Surveys Adding for SurveyQuestionResponses Adding for SurveyQuestions Adding for SurveyQuestionOptions Adding for dartm_Customer_HelpDesk Adding for dartm_Panel_Design Adding for bc_wp_portal_notification Adding for bc_feedback Adding for bc_user_group Adding for bc_proposal Adding for p_Payment_transaction Clearing Vardefs from cache...done Clearing language files from cache...done Clearing Template files from cache...done Clearing JS files from cache...done Clearing Vardefs from cache...done Clearing JS Language files from cache...done Clearing language files from cache...done Clearing SuiteCRM Dashlet files from cache...done Clearing SuiteCRM Feed Cache...done Clearing Smarty templates from cache...done Clearing Theme Cache...done Clearing XML files from cache...done Clearing Unified Search Cache...done Clearing External API Cache File...done Rebuilding Extensions... Rebuilding Include... Rebuilding Language...en_us Rebuilding ActionViewMap... Rebuilding ActionFileMap... Rebuilding ActionReMap... Rebuilding Administration... Rebuilding EntryPointRegistry... Rebuilding Extensions... Rebuilding FileAccessControlMap... Rebuilding Layoutdefs... Rebuilding GlobalLinks... Rebuilding LogicHooks... Rebuilding Menus... Rebuilding Include... Rebuilding ScheduledTasks... Rebuilding UserPage... Rebuilding Utils... Rebuilding Vardefs... Rebuilding JSGroupings... Rebuilding Actions... Rebuilding PDF... Rebuilding DC Actions... Rebuilding Relationships Warning: include(metadata/securitygroups_acl_rolesMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(): Failed opening 'metadata/securitygroups_acl_rolesMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(metadata/securitygroups_defaultsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(): Failed opening 'metadata/securitygroups_defaultsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(metadata/securitygroups_recordsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(): Failed opening 'metadata/securitygroups_recordsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131 Rebuilding TableDictionary... Updating the admin warning message... Rebuilding Audit Tables... ACLAction not Audit Enabled... ACLRole not Audit Enabled... Relationship not Audit Enabled... Audit table for Leads already exists. skipping... Audit table for Cases already exists. skipping... Audit table for Bugs already exists. skipping... User not Audit Enabled... CampaignLog not Audit Enabled... Project not Audit Enabled... Audit table for ProjectTasks already exists. skipping... Audit table for Campaigns already exists. skipping... ProspectList not Audit Enabled... Prospect not Audit Enabled... EmailMarketing not Audit Enabled... CampaignTracker not Audit Enabled... Release not Audit Enabled... EmailMan not Audit Enabled... Scheduler not Audit Enabled... SchedulersJob not Audit Enabled... Audit table for Contacts already exists. skipping... Audit table for Accounts already exists. skipping... Audit table for Opportunitys already exists. skipping... EmailTemplate not Audit Enabled... Note not Audit Enabled... Call not Audit Enabled... Email not Audit Enabled... Meeting not Audit Enabled... Task not Audit Enabled... User not Audit Enabled... Employee not Audit Enabled... Currency not Audit Enabled... Tracker not Audit Enabled... ImportMap not Audit Enabled... UsersLastImport not Audit Enabled... Administration not Audit Enabled... UpgradeHistory not Audit Enabled... vCal not Audit Enabled... Alert not Audit Enabled... Role not Audit Enabled... Document not Audit Enabled... DocumentRevision not Audit Enabled... FieldsMetaData not Audit Enabled... Audit not Audit Enabled... InboundEmail not Audit Enabled... SavedSearch not Audit Enabled... UserPreference not Audit Enabled... MergeRecord not Audit Enabled... Audit table for EmailAddresss already exists. skipping... EmailText not Audit Enabled... Spots not Audit Enabled... AOBH_BusinessHours not Audit Enabled... SugarFeed not Audit Enabled... EAPM not Audit Enabled... OAuthKey not Audit Enabled... OAuthToken not Audit Enabled... Audit table for AM_ProjectTemplatess already exists. skipping... Audit table for AM_TaskTemplatess already exists. skipping... Favorites not Audit Enabled... Audit table for AOK_Knowledge_Base_Categoriess already exists. skipping... Audit table for AOK_KnowledgeBases already exists. skipping... Reminder not Audit Enabled... Reminder_Invitee not Audit Enabled... Audit table for FP_eventss already exists. skipping... Audit table for FP_Event_Locationss already exists. skipping... Audit table for AOD_IndexEvents already exists. skipping... Audit table for AOD_Indexs already exists. skipping... Audit table for AOP_Case_Eventss already exists. skipping... Audit table for AOP_Case_Updatess already exists. skipping... Audit table for AOR_Reports already exists. skipping... AOR_Field not Audit Enabled... AOR_Chart not Audit Enabled... AOR_Condition not Audit Enabled... AOR_Scheduled_Reports not Audit Enabled... Audit table for AOS_Contractss already exists. skipping... Audit table for AOS_Invoicess already exists. skipping... Audit table for AOS_PDF_Templatess already exists. skipping... Audit table for AOS_Product_Categoriess already exists. skipping... Audit table for AOS_Productss already exists. skipping... Audit table for AOS_Products_Quotess already exists. skipping... Audit table for AOS_Line_Item_Groupss already exists. skipping... Audit table for AOS_Quotess already exists. skipping... AOW_Action not Audit Enabled... Audit table for AOW_WorkFlows already exists. skipping... AOW_Processed not Audit Enabled... AOW_Condition not Audit Enabled... Audit table for jjwg_Mapss already exists. skipping... Audit table for jjwg_Markerss already exists. skipping... Audit table for jjwg_Areass already exists. skipping... Audit table for jjwg_Address_Caches already exists. skipping... Audit table for Calls_Reschedules already exists. skipping... Audit table for SecurityGroups already exists. skipping... Audit table for OutboundEmailAccountss already exists. skipping... TemplateSectionLine not Audit Enabled... OAuth2Tokens not Audit Enabled... OAuth2Clients not Audit Enabled... Audit table for SurveyResponsess already exists. skipping... Audit table for Surveyss already exists. skipping... Audit table for SurveyQuestionResponsess already exists. skipping... Audit table for SurveyQuestionss already exists. skipping... Audit table for SurveyQuestionOptionss already exists. skipping... Audit table for dartm_Customer_HelpDesks already exists. skipping... Audit table for dartm_Panel_Designs already exists. skipping... Audit table for bc_wp_portal_notifications already exists. skipping... Audit table for bc_feedbacks already exists. skipping... Audit table for bc_user_groups already exists. skipping... Audit table for bc_proposals already exists. skipping... Audit table for p_Payment_transactions already exists. skipping... Done Warning: include(metadata/securitygroups_acl_rolesMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(): Failed opening 'metadata/securitygroups_acl_rolesMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 128
Warning: include(metadata/securitygroups_defaultsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(): Failed opening 'metadata/securitygroups_defaultsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 129
Warning: include(metadata/securitygroups_recordsMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(): Failed opening 'metadata/securitygroups_recordsMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 130
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131
Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html:/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131 Database tables are synced with vardefs
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 36864 bytes) in /var/www/html/include/SugarObjects/VardefManager.php on line 189
2 years ago
Yeah, the needed files aren't copying over as they need to be. This usually works 99% of the time in SuiteCRM having thousands of installs. Unfortunately, you are running into issues.
To resolve, unzip the install package and copying over the 5 files in /install_dir/relationships/SecurityGroups to the /metadata directory of your install. Then Rebuild Relationships again.
2 years ago
That mostly worked, thank you.
I am still getting the following php Warnings:
Warning: include(metadata/securitygroups_usersMetaData.php): failed to open stream: No such file or directory in /var/www/html/modules/TableDictionary.php on line 131 Warning: include(): Failed opening 'metadata/securitygroups_usersMetaData.php' for inclusion (include_path='/var/www/html/include/..:.:/usr/share/php') in /var/www/html/modules/TableDictionary.php on line 131
2 years ago
Almost there! There is one more file to copy from the zip package.
Copy /install_dir/relationships/Users/securitygroups_usersMetaData.php to the /metadata directory.
Then do a Rebuild Relationships.
2 years ago
Thank you. That seems to have solved the last of the php Warnings. The only issue left is that Module Loader shows SecuritySuite as uninstallable., since this was partly a manual process.
2 years ago
Great! Unfortunately, in cases like this one Module Loader will show it as not installed until all those file permissions are resolved and it can be installed fully through the Module Loader.
If you want that to not show in Module Loader I recommend just deleting the package.
Also keep this handy if you ever do want to uninstall SecuritySuite: https://store.suitecrm.com/docs/securitysuite/uninstallation-guide