by synolia

Create standardized dashboards for your users. No more having confused users missing out on what they could be doing with Sugar. This add-on gives Sugar administrators the ability to easily and quickly deploy dashboard templates to one or multiple users.

Includes a 30 day guarantee
Try it Now

By clicking you consent to share your profile with the developer

#3184 - Files left behind after uninstall causes system to become unstable and unusable.

Closed Bug? created by Tmoriello Verified Purchase 5 years ago

I don't need anything fixed since I'm actually fully uninstalling your product, but I thought I'd give you guys a hand since not only have I had this problem, but others on this site have as well.

Uninstalling your product causes unrecoverable system crashes. After lots and lots of GREPing and testing, I have a near complete list of files that your uninstaller leaves behind.

I've tried on 7.2, 7.5, 7.6 and 7.7 and on all instances, I've tried to uninstall your product through module loader. The progress bars completes to 100% and I get the message "Module uninstalled successfully". Then if you try to navigate anywhere in sugar, you get the Sugar module bar with "HTTP 500 error". If you try to log in after that, you get the error "Unable to connect with server"

I've gone as far as getting most of the files removed to the point that sugar will load again, but QRR wants to recreate database vardefs that should no longer exist. I think I now finally have all the files left behind for a FULL clean uninstall.

I have created a script which deletes all of the files below that are left behind after a "Successful Uninstall" through module loader. Some of these are auto generated extension files but need to be removed. They are recreated after a repair.

I have to delete all these files, then the contents of cache directory. You might want to think about adding a cleanup script to your manifest. This is a TON of left over data.

/Path/To/Sugar/modules/SYNO_DashboardTemplateFilters /Path/To/Sugar/modules/SYNO_DashboardTemplateHistory /Path/To/Sugar/modules/SYNO_DashboardTemplateLines /Path/To/Sugar/modules/SYNO_DashboardTemplates /Path/To/Sugar/custom/modules/SYNO_DashboardTemplateHistory /Path/To/Sugar/custom/modules/SYNO_DashboardTemplateLines /Path/To/Sugar/custom/modules/SYNO_DashboardTemplates /Path/To/Sugar/custom/Extension/modules/SYNO_DashboardTemplateHistory /Path/To/Sugar/custom/Extension/modules/SYNO_DashboardTemplateLines /Path/To/Sugar/custom/Extension/modules/SYNO_DashboardTemplates /Path/To/Sugar/custom/Extension/application/Ext/Include/SYNO* /Path/To/Sugar/custom/Extension/application/Ext/Include/Syno* /Path/To/Sugar/custom/Extension/application/Ext/Include/DashboardTemplates.php /Path/To/Sugar/custom/Extension/application/Ext/Include/Disabled/DashboardTemplates.php /Path/To/Sugar/custom/application/Ext/Include/modules.ext.php

/Path/To/Sugar/custom/Extension/modules/Users/Ext/Vardefs/sugarfield_synodt_block_dashboards_c.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Vardefs/syno_dashboardtemplatehistory_users_Users.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Vardefs/sugarfield_synodt_roles_c.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Layoutdefs/syno_dashboardtemplatehistory_users_Users.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Language/en_us.SynoDashboardTemplatesHistory.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Language/fr_FR.SynoDashboardTemplatesHistory.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Language/en_us.SUGAR_SYNODASHBOARDTEMPLATES.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/Language/fr_FR.SUGAR_SYNODASHBOARDTEMPLATES.php /Path/To/Sugar/custom/Extension/modules/Users/Ext/WirelessLayoutdefs/syno_dashboardtemplatehistory_users_Users.php

/Path/To/Sugar/custom/Extension/application/Ext/Language/fr_FR.DashboardTemplatesHistory.php /Path/To/Sugar/custom/Extension/application/Ext/Language/fr_FR.SynoDashboardTemplateLines.php /Path/To/Sugar/custom/Extension/application/Ext/Language/en_us.DashboardTemplates.php /Path/To/Sugar/custom/Extension/application/Ext/Language/en_us.DashboardTemplatesHistory.php /Path/To/Sugar/custom/Extension/application/Ext/Language/fr_FR.SYNO_DashboardTemplateFilters.php /Path/To/Sugar/custom/Extension/application/Ext/Language/fr_FR.DashboardTemplates.php /Path/To/Sugar/custom/Extension/application/Ext/Language/en_us.SYNO_DashboardTemplateFilters.php /Path/To/Sugar/custom/Extension/application/Ext/Language/en_us.SynoDashboardTemplateLines.php /Path/To/Sugar/custom/Extension/application/Ext/Include/Disabled/SynoDashboardTemplateLines.php /Path/To/Sugar/custom/Extension/application/Ext/Include/Disabled/SynoDashboardTemplateFilters.php /Path/To/Sugar/custom/Extension/application/Ext/Include/Disabled/SYNO_DashboardTemplateHistory.php /Path/To/Sugar/custom/Extension/modules/Administration/Ext/Language/en_us.SynoDashboardTemplates.php /Path/To/Sugar/custom/Extension/modules/Administration/Ext/Language/fr_FR.SynoDashboardTemplates.php /Path/To/Sugar/custom/Extension/modules/Employees/Ext/Language/en_us.SUGAR_SYNODASHBOARDTEMPLATES.php /Path/To/Sugar/custom/Extension/modules/Employees/Ext/Language/fr_FR.SUGAR_SYNODASHBOARDTEMPLATES.php /Path/To/Sugar/custom/application/Ext/Language/fr_FR.lang.ext.php /Path/To/Sugar/custom/application/Ext/Language/en_us.lang.ext.php /Path/To/Sugar/custom/modules/Administration/Ext/Language/fr_FR.lang.ext.php /Path/To/Sugar/custom/modules/Administration/Ext/Language/en_us.lang.ext.php /Path/To/Sugar/custom/modules/Employees/Ext/Language/fr_FR.lang.ext.php /Path/To/Sugar/custom/modules/Employees/Ext/Language/en_us.lang.ext.php /Path/To/Sugar/custom/clients/base/views/dashboard-headerpane/dashboard-headerpane.js /Path/To/Sugar/custom/metadata/syno_dashboardtemplatehistory_syno_dashboardtemplatesMetaData.php /Path/To/Sugar/custom/metadata/syno_dashboardtemplatehistory_usersMetaData.php /Path/To/Sugar/custom/metadata/syno_dashboardtemplatelines_syno_dashboardtemplatesMetaData.php

  1. synolia member avatar

    synolia Provider Affiliate

    5 years ago


    Most of the files present in your list are linked directly to base modules. Exemple:

    /Path/To/Sugar/modules/SYNO_DashboardTemplateFilters /Path/To/Sugar/modules/SYNO_DashboardTemplateHistory /Path/To/Sugar/modules/SYNO_DashboardTemplateLines /Path/To/Sugar/modules/SYNO_DashboardTemplates

    and the others, in the "custom" folder are defined in the manifest.

    These files should have been removed by Sugar during the uninstall process. There is no extra code to be added in the manifest (or post_uninstall scripts) for Sugar to remove these files (in normal conditions).

    The only cases that i can think of why these files are still present are : 1. The manifest file is not available during the uninstall process, so the list of files to remove is empty. 2. Sugar was unable to physically remove the files due to system permissions (or other external influence).

    The fact that once you launch a QRR and Sugar proposes to re-create the tables is the standard way Sugar deploys modules. If the files are present and the database structure is not (or not complete anyway) it will try to recreate it.

    To understand exactly what happened in your case we would need quite a bit of info: 1. Your initial version of Sugar (from when Dashboard Templates was installed) 2. Your initial version of Dashboard Templates 3. The history of SugarCRM and Dashboard Templates upgrades in order 4. How these upgrades were implemented 5. System configuration

    I'm sorry that in your case the uninstall failed and we would like to find the reason why and how this happened.

    Kind regards, Synolia Support

    • Tmoriello member avatar

      Tmoriello Verified Purchase

      5 years ago

      Oh no, the manifest file was there. That's where I found a small portion of the files. If the manifest was not present, Sugar would not give me the option to uninstall through module loader. SUGAR_SYNODASHBOARDTEMPLATES_7.2.2-to-7.7_20161024-manifest.php

      My permissions are all good. Directories and files. All according to

      And everything in my web folder is owned by apache:apache

      I agree completely. There shouldn't be any SYNO directories in the Sugar module root folder, but I didnt move them there. Your installer put them there at some point.

      I installed originally on 7.2 and followed your upgrade path through patches available here on Sugaroutfitters all the way to 7.7 through module loader on an on-site instance until I hit the 7.8 roadblock that caused me to uninstall.

      CentOS 6.8, apache 2.2, PHP 5.6 (started with php 5.4 but upgraded along the way)

      I'm all uninstalled and done with your product. Just figured I'd give you some helpful info that your uninstaller misses all of these files.

      Like I said, i'm just trying to help you guys out, but if you look closer, there are definitely some files listed that are not in that manifest file. Some are included, but for whatever reason, your uninstaller does not remove them even with correct permissions and ownership. But thats all up to you now

      You can close this case. This was just an FYI for you and your other customers who also cant uninstall your product.

    • jason member avatar


      5 years ago

      Adding some more info here as we see this on other add-ons from time to time on SugarOutfitters. The uninstaller in Sugar can be finicky at times. The versions you are on shouldn't have some of the past issues of uninstalling that were due to how the Module Installer handled the initial install. However, it may still run into issues actually removing files during uninstall if it runs into file permission issues or other related Module Installer oddities during the uninstall process. These aren't usually due to anything related to the add-on as long as the add-on defines the files correctly in the manifest. Basically the add-ons are at the whim of the uninstaller included in Sugar by default. To sum that up, it's unfortunately a shortcoming in Sugar's uninstaller and unrelated to the add-ons.

      This doesn't help the fact that the files didn't uninstall as expected, but hopefully it helps shed some light on the oddities that sometimes occur.

      Hope this helps! Jason Eggers SugarOutfitters

This case is public. Please leave out any sensitive information such as URLs, passwords, etc.
Saving Comment Saving Comment...
  • "This is a must have plugin for Sugar. We have bought it for several of our customers!"

    Read More Reviews