How to deploy to production server customizations made in vendor folder?

So, We have 3 environments: development, staging and production.

.gitignore file includes “vendor” folder and it has been working fine for us fine. Once We pull changes in Staging We would just run:

composer install php bin/magento setup:upgrade && php bin/magento setup:di:compile && php bin/magento setup:static-content:deploy && php bin/magento c:enable && php bin/magento c:c 

The issue is: We had to customize a third party extension installed by composer (under “vendor” folder) and this path is ignored by Git. What should I do to keep track of this changes and deploy them to staging server?

I could “git add -f ” but would like your opinion on best practices.

Moving a vendor module to new cron group in magento 2

We are utilizing the Firebear module to import product and pricing data which run in the default cron group. The import takes quite a bit of time/resources so it was recommended to move the Firebear cron to its own group. The Firebear crontab.xml is currently setup like so:

vagrant/tmp/vendor/firebear/importexport/etc/crontab.xml 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">     <group id="default">     <job name="importexport_jobs_run_id" instance="Firebear\ImportExport\Cron\RunImportJobs" method="execute">     <schedule>*/1 * * * *</schedule>     </job>     <job name="importexport_export_jobs_run_id" instance="Firebear\ImportExport\Cron\RunExportJobs" method="execute">         <schedule>*/1 * * * *</schedule>     </job>     </group> </config> 

At a high level I will need to: 1 – create new cron group 2 – override Firebear crontab to run in new group

Any help on the process to accomplish this will be much appreciated.

What happens if vendor partition is corrupted?

I mistakenly flashed recovery image in vendor partition while installing a custom rom. I am using Lenovo K6 Power with Lineage OS Oreo Karate by Karthik with TWRP. I was flashing Resurrection Remix Oreo while this happened.

I haven’t rebooted my device till now and it is charging. So what will happen now? When I try to flash RR I get error: /vendor cannot be mounted, when I try to restore I get the same error message.

Currently I am downloading stock rom and planning to flash it via Qfil in hopes of fixing it. Any ideas what to do?

When I use “echo” in vendor methods – products not showing, but work fine without it

I got the next code:

public function getProductCollection() {     if (isset($  this->_productCollections[$  this->getCurrentCategory()->getId()])) {         $  collection = $  this->_productCollections[$  this->getCurrentCategory()->getId()];     } else {         $  collection = $  this->collectionProvider->getCollection($  this->getCurrentCategory());         $  this->prepareProductCollection($  collection);         $  this->_productCollections[$  this->getCurrentCategory()->getId()] = $  collection;     }     echo "Collection count".$  collection->count();     return $  collection; } 

When I tried to echo collection count – it always equals 0, but when I delete this string – everything is okay count equals 16. How?

Different Bootstrap themes on vendor vs client facing admin dashboards

I’m creating a multi-tenant web application. We (the vendor) are developing an application where each organization that subscribes will have its own administration dashboard.

The “client facing” admin dashboard is themed using Bootstrap 4 and a commercial Bootstrap template which looks nice. However, our “vendor” dashboard will be much simpler and is mostly just a UI to add/remove organizations and change some settings. The rest of the administration would be done by logging into one of the organization’s admin dashboards with escalated privileges.

My concern is continuity. Vendor administrators (i.e. people in my company) might have a poor user experience while managing clients if the page layout and theme keeps changing when switching to our admin panel to the client admin panel and vice versa.

On the other hand, in my opinion having two different styles makes it clear and obvious which system your currently working in. It would also save some costs not having to use a commercial theme which only our company would be viewing.

Any thoughts on this? Is there recommendations against having two different styles/layouts?

Upgrade Magento vendor module(dependency|library) to a newer version

Magento uses multiple “external” dependencies|libraries for example one of them is dotmailer-magento2-extension. This specific module is at version 3.1.1 as it can be seen here vendor/dotmailer/dotmailer-magento2-extension/composer.json

Is there any way to upgrade such a dependency module|library to a newer version? For example to update dotmailer module to 3.1.2.

I’m not looking to update the dotmailer module in particular but for a general way to update magento dependencies like libraries or modules.

Vendor does not match the system, eventually fails

Can someone explain why this happens? I eventually shutdown the device which is why is fails, but it takes forever and never finishes.

Pixel 2, oem unlocked, Sixrom v2.0.

usr@ubuntuhost:~$ fastboot flash vendor /home/usr/Downloads/rom/walleye-pq1a.190105.004-factory-78374c71/walleye-pq1a.190105.004/image-walleye-pq1a.190105.004/vendor.img target reported max download size of 536870912 bytes erasing ‘vendor_b’… OKAY [ 0.133s] sending ‘vendor_b’ (359600 KB)…

FAILED (data write failure (Protocol error)) finished. total time: 2345.269s