cedaro / satispress

Expose installed WordPress plugins and themes as Composer packages.
508 stars 51 forks source link

Premium Plugin installation failures #103

Closed tylerwiegand closed 5 years ago

tylerwiegand commented 5 years ago

So far our shop has encountered two plugins that consistently do not install properly from our satispress when we attempt to install the premium version of the plugin. We have unlimited licenses for both, and register after installation, but for some reason an rsync of the plugin folder AFTER installation is required for either plugin to function completely, even if the plugin is activated post-install in the graphical user interface.

The FREE version of these plugins work fine when installed via our satispress OR the standard wpackagist-plugin composer library.

Steps to reproduce: The two plugins we have had issues with are "stackable-ultimate-gutenberg-blocks-premium" and "pixelyoursite-pro"

Is this expected behavior for some premium plugins that is unavoidable? We would like to automate our install process as much as possible, and manually uploading zip's with every client site and maintaining updates etc is extremely expensive for us in time. If I need to work with the developer of the plugin, is there some sort of standard I can urge them toward?

If installing via the zip is the only way, is there a way to automate that process via satispress and composer that I'm not aware of?

Thank you!

bradyvercher commented 5 years ago

That's not expected behavior. After the initial version is added to SatisPress, every subsequent version should should be the exact same zip file provided by the vendor if they're delivering them through the WordPress update "API." Ideally any updates that tap into the WordPress update process should be able to be managed with SatisPress.

What kind of errors are you receiving after updating through SatisPress? Can you go to Settings → SatisPress → Packages in your admin panel and download the latest version of one of those plugins and compare it to the zip provided by the vendor?

tylerwiegand commented 5 years ago

I didn't think to check that! And yeah actually the one they provide is 2.7mb and the one from satispress, when downloaded, is 1mb.

After comparing both folder contents, there is a folder in the working version named "dist" not present in the satispress version. Weird!

Screen Shot 2019-07-11 at 10 24 55 AM

And as luck would have it, the same structure is present in the Pixelyoursite-pro:

Screen Shot 2019-07-11 at 10 35 14 AM

Out of curiosity, I checked a plugin that is known to work, Advanced Custom Fields Pro, and it does NOT have the "dist" folder. I'm guessing that the dist folder is intentionally excluded as most people use it as a place to compile assets down to rather than include precompiled things, but I'm not a plugin dev so I wouldn't know.

Screen Shot 2019-07-11 at 10 38 42 AM

Hope that's enough information where it might make sense to you what's going on. Thanks for replying !

bradyvercher commented 5 years ago

That looks like it could be the problem! The /dist directory is indeed excluded automatically when zipping a plugin up from source, which should really only happen when the plugin is initially added to the SatisPress repository. New releases should come directly from the vendor, so they shouldn't be modified any way, so that part is a bit strange.

100 provided a work around, but it does look like this is a little more prevalent than I assumed. I think I'll go ahead and remove a few entries from the default exclude list to prevent this from causing more issues.

tylerwiegand commented 5 years ago

I really hope this doesn't introduce other issues!

bradyvercher commented 5 years ago

No worries! It should alleviate a few issues and will only cause extra development files to be included in the zip in rare cases.