nopSolutions / nopCommerce

ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
https://www.nopcommerce.com
Other
9.27k stars 5.31k forks source link

Think about storing plugins information #5870

Open RomanovM opened 3 years ago

RomanovM commented 3 years ago

nopCommerce version: develop

As a continuation of #4113 #5511 #6636 Now we store all application configuration parameters (include DB connection strings) in the external appsettings.json file (or in environment variables). But we still have another one plugin.json for storing plugins information. We should think about giving up this file, where then to store the plugin info? In DB, in the same appsettings.json, leave the current way, any other options?

skoshelev commented 3 years ago

I think the current approach is the most optimal since I do not see any benefit to moving this data in appsettings (after all, these are not even settings, but just information about plugins). It is impossible to transfer this data to the database since plug-in DLLs are loaded into memory even before IoC initialization, this is to put the necessary service implementations into IoC later, but you need to load not all DLLs in a row into memory, but only from installed plug-ins, or those plug-ins that will be installed after application initialization. It turns out that the only option is to store such information where there is access by default (before DI initialization)

AndreiMaz commented 3 months ago

See related work item https://github.com/nopSolutions/nopCommerce/issues/6636