vendrcontrib / vendr-wishlists

[WIP] Wishlists for Vendr, the eCommerce solution for Umbraco v8+
MIT License
0 stars 1 forks source link

[BO] Store settings #3

Open NikRimington opened 3 years ago

NikRimington commented 3 years ago

What settings do we want to add to a store for management of wishlists.

My initial thoughts are the following:

  1. Bool - Ability to enable/disable wishlists
  2. Bool - Do wishlist names have to be unique per customer
  3. Option - When loading a wishlist into the basket, should it override the existing basket, add the items to it, or Prompt the user as to what they want to do.
bjarnef commented 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".

bjarnef commented 3 years ago

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.

mattbrailsford commented 3 years ago

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.

bjarnef commented 3 years ago

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

NikRimington commented 3 years ago

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.

bjarnef commented 3 years ago

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.

bjarnef commented 3 years ago

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.

bjarnef commented 2 years ago

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.