<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Hiep Le</title><link href="http://world.optimizely.com" /><updated>2023-07-24T09:24:56.0000000Z</updated><id>https://world.optimizely.com/blogs/hiep-le/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>No valid combination of account information found</title><link href="https://world.optimizely.com/blogs/hiep-le/dates/2023/7/no-valid-combination-of-account-information-found/" /><id>&lt;p&gt;You might have stumbled upon the error below while upgrading the minor commerce version:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/9dcba481507545b298d569b5a49b654b.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I encountered this while upgrading from EPiServer Commerce version 13.32.3 to 13.33.0.&lt;/p&gt;
&lt;p&gt;Google gave me this: &lt;a href=&quot;https://stackoverflow.com/questions/13913589/azure-blob-storage-no-valid-combination-of-account-information-found&quot;&gt;https://stackoverflow.com/questions/13913589/azure-blob-storage-no-valid-combination-of-account-information-found&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So I wondered what does my upgrade have anything to do with Azure Blob Storage?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Turned out, it has something to do with Azure Blob Storage indeed.&lt;/p&gt;
&lt;p&gt;In version 13.33.0, you can use Azure Blob Storage to keep the site&#39;s blobs, using this article if you want to do that: &lt;a href=&quot;/link/c26e23bbf0c449f9ab2a1697a5acec78.aspx&quot;&gt;https://world.optimizely.com/blogs/ram-kumar-k/dates/2018/3/using-azure-cloud-for-storing-episerver-cms-blobs/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It gave me the hint to find that the upgrade has inserted a new provider section below in my Web.config&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;blob defaultProvider=&quot;azureblobs&quot;&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;providers&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;add name=&quot;azureblobs&quot; type=&quot;EPiServer.Azure.Blobs.AzureBlobProvider,EPiServer.Azure&quot; connectionStringName=&quot;EPiServerAzureBlobs&quot; container=&quot;mysitemedia&quot;/&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/providers&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;/blob&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;event defaultProvider=&quot;azureevents&quot;&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;providers&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;add name=&quot;azureevents&quot; type=&quot;EPiServer.Azure.Events.AzureEventProvider,EPiServer.Azure&quot; connectionStringName=&quot;EPiServerAzureEvents&quot; topic=&quot;MySiteEvents&quot;/&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/providers&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;/event&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Additionally, new connections were added:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;add name=&quot;EPiServerAzureBlobs&quot; connectionString=&quot;DefaultEndpointsProtocol=https;AccountName=mystorageccount;AccountKey=abcdefghijklmnoabcdefghijklmnoabcdefghijklmno&quot;/&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;lt;add name=&quot;EPiServerAzureEvents&quot; connectionString=&quot;Endpoint=sb://myservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abcdefghijklmnoabcdefghijklmnoabcdefghijklmno=&quot;/&amp;gt; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Commented out both sections since I am not going to use them yet and my site is back to life.&lt;/p&gt;





</id><updated>2023-07-24T09:24:56.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely Campaign - where is the opt in process ID?</title><link href="https://world.optimizely.com/blogs/hiep-le/dates/2022/3/optimizely-campaign---where-is-the-opt-in-process-id/" /><id>&lt;p&gt;When working with Optimizely Campaign, you will be familiar with opt in process. Basically when users subscribe to your website&#39;s newsletter, you want them to go through an opt in process. &lt;span&gt;An opt-in process requires recipients to give a sender explicit permission to send them advertising mails.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Setting up the opt in process basically containing 2 steps:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Create the process in Opmizely Campaign&lt;/span&gt;&lt;span&gt;&lt;img src=&quot;/link/02feb24085714fdd9572f0f98db3c4a4.aspx&quot; /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;From your code, hook up to the opt in process via API call. For example, if using HTTP API, you can follow this guide: &lt;a href=&quot;/link/e02ba59ed8144a109d786315d569abb4.aspx&quot;&gt;https://world.optimizely.com/documentation/developer-guides/campaign/http-api/services-and-operations/subscribe/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;However at step 2, you will notice that you need to pass in the opt in process ID:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/link/76126a1f7bff4b1886ca150ba8323a27.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;At the first glance, you will not be able to see it from the process that you have just created above.&lt;/p&gt;
&lt;p&gt;I can tell you it is not easier to find.&lt;/p&gt;
&lt;p&gt;So here it is....&lt;/p&gt;
&lt;p&gt;Look at corner of the table listing those opt in process, and click on the dropdown arrow&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/84a68e0518ca4157ae96cd860a435325.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tick the ID checkbox, your process ID will appear in the table :)&lt;/p&gt;

</id><updated>2022-03-24T10:15:33.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Create admin account without given access to CMS</title><link href="https://world.optimizely.com/blogs/hiep-le/dates/2022/3/create-admin-account-without-given-access-to-cms/" /><id>&lt;p&gt;Ever encountered a situation you are asked to take over a project to maintain it, you are given database backup &amp;amp; source codes but someone forgot to tell you the admin account to login CMS?&lt;/p&gt;
&lt;p&gt;Fret not. If you are using CMS version 11 or ealier, edit your web.config to allow anonymous access to the CMS by updating the following sections:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Under &amp;lt;location path=&quot;EPiServer&quot;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;update from &amp;lt;deny users=&quot;*&quot; /&amp;gt; to &amp;lt;allow users=&quot;*&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Under &amp;lt;location path=&quot;EPiServer/CMS/admin&quot;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;update from &amp;lt;deny users=&quot;*&quot; /&amp;gt; to &amp;lt;allow users=&quot;*&quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;You now can access the CMS at &lt;a href=&quot;http://your-site/EPiServer/CMS/Admin/Default.aspx&quot;&gt;http://your-site/EPiServer/CMS/Admin/Default.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go in and create your admin account and you&#39;re all set!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/b919df5a49b34017a079ed367056f11d.aspx&quot; /&gt;&lt;/p&gt;</id><updated>2022-03-17T11:26:26.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>