Open NikRimington opened 3 years ago
Not sure the best approach to store settings for Vendr packages at the moment. It could be a separate node under Vendr settings, but would probably require a "Wishlist" node injects under each store). It would also be a config file similar to the Order Editor Config in Vendr core.
I don't think Wishlist names need to be unique per customer. From what I have seen in other ecommerce systems it is mosly used when having multiple wishlists per customer, e.g. you could create a wishlist "Christmas", "Birthday", etc. When adding a product to wishlist you could get an overlay/modal where the customer can select a wishlist to add this product.
I think wishlists should affect existing baskets/carts, but wishlist order lines usually have a "Add to cart" button and sometimes a feature like "merge wishlist with basket".
As a start I don't think we need to worry much about settings. The developer can decide whether to use wishlists or not. It would be great to go with default settings and later look further at which part that need to be configurable, but I guess if isn't crucial for an initial release.
Maybe @mattbrailsford has some thoughts on how Vendr packages should handle settings.
I was thinking about this yesterday and wondering if there should be a plugin solution for this. Either rendering new blocks in the store settings, or something like content apps. I'd need to give it some more thought though.
Yeah, it would help if we can inherit from a base class in Vendr core or maybe something similar as we payment provider settings. We should also consider that some settings are store specific (but I think Vendr at the moment doesn't have soem global settings at the moment - the ones in settings section are store specific). I guess this is okay, although it in some cases might require to enter same value in a settings property on multiple stores.
Maybe it would be great to have the by default under the "Settings" tab on the store settings node. In some cases for Reviews or Wishlist maybe we want to inject our own tree node to store the settings here.
Regarding payment provider I have some additonal issues here, where it would be great to be able to group these a bit more: https://github.com/vendrhub/vendr/issues/64 https://github.com/vendrhub/vendr/issues/65 https://github.com/vendrhub/vendr/issues/105
The reason I suggested about the unique wishlist names per customer is that I had that exact requirement from a client, so I'd be keen to keep that as a setting if we can.
Ahh, yes I think the wishlist names doesn't need to be unique, but per customer it probably don't make sense to have mutliple wishlists with same name. Not sure we need a setting for this, it could probably be handled in the service or repository.
However we might also consider if anonymous customers can create wishlists (in some ecommerce systems this is possible) and in this scenario we don't have a customer reference by default.
Currently I don't think we have a standard way to handle settings for add-ons in Vendr expect for payment providers. We could store some settings in web.config or in Order Editor Config or a specific config file in the plugin. However sometimes we want to modify the settings from backoffice and per store. It could be useful to add properties in backoffice e.g in store settings node and allow some grouping + sorting.
I am not sure about the setting "Ability to enable/disable wishlists". If the package was installed in a project, I guess wishlists are supported to be used. Furthermore it this was an option, it should probably be considered, what happens if wishlists were enabled and later disabled. In that case I guess we don't want some wishlist specific stuff in "Commerce" section and the customers won't be able to see wishlists?
Not sure it is big requirement though. As a start if would be great to keep it simple and with minimum settings/configurations.
What settings do we want to add to a store for management of wishlists.
My initial thoughts are the following: