Skip to Main Content
Customer Feedback

We love feedback from you on our products and the problems in your daily work that you would like us to solve. Please describe the challenge you're encountering and your desired outcome. Be as detailed as possible.

For technical issues or bugs please head to Support or our Developer Community. You can assign up to 20 votes in total. Thank you for your feedback.

Status explanation: 'Future Consideration' = Continuing to collect further feedback, not planned at this time. 'Investigating' = Prioritized for deeper customer and feasibility investigations ahead of planning development.

Status Future consideration
Categories Customer Services
Created by Guest
Created on Feb 22, 2023

Rewrite CustomerContext to a service with interface

I would be happy to see the CustomerContext class turned into a class with an interface, and no usage of the CustomerContext.Current singleton. This way it can be overwritten or intercepted for customization.

In the same way, the logic of Mediachase.Commerce.Security.PrincipalExtensions.GetCustomerContact(IPrincipal), could maybe be moved to the new CustomerContext class so it too can be overwritten or intercepted.

If these were rewritten, then I could make necessary customizations to the customer system and have Optimizely use them automatically.

One example could be this:

Suppose I have a multi-store solution, where one email address can have a CustomerContact in each store. For this to be picked up, I would need to add new logic to CustomerContext and replace the GetContactId extension method logic.

  • Optimizely
    Tom Bramley
    Oct 4, 2023

    Thank you for submitting this request! We have added this item to our backlog for future consideration and prioritization.