<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by calimat</title><link href="http://world.optimizely.com" /><updated>2025-01-31T21:31:52.0000000Z</updated><id>https://world.optimizely.com/blogs/calimat/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>My Journey to Optimizely Certification: Study Tips, AI Tools, and Exam Strategies</title><link href="https://world.optimizely.com/blogs/calimat/dates/2025/1/my-journey-to-optimizely-certification-study-tips-ai-tools-and-exam-strategies/" /><id>&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;How I Prepared for My Optimizely Certification Exam&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Hello everyone, I recently took the Optimizely Certification Developer Exam and became certified, and I want to share my experience. First of all, I didn&amp;rsquo;t take the new exam through the Optimizely website&amp;mdash;I did it using the older approach with a third-party application. Either way, I think the overall experience is the same.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;What Reference Materials Did I Use?&lt;/span&gt;&lt;br /&gt;For the most part, I used the video lectures taught by Bruce Gordon. There were two sessions&amp;mdash;one for Fundamentals exam prep and the other for advanced prep. I was able to register for these classes at the time, so make sure to ask in the Optimizely Slack if they can provide them to you. This really helps because Bruce navigates through the relevant parts of the documentation, meaning you don&amp;rsquo;t have to read everything and overwhelm yourself.&lt;/p&gt;
&lt;p&gt;The PDFs for these topics were crucial because Bruce explained the key concepts needed for the exam. For example, in the CMS 12 Fundamentals course offered by Optimizely, I don&amp;rsquo;t recall seeing anything about DXP or how to use the API for deployment (wink wink). That topic appeared on the exam, and without those notes, those questions would have caught me by surprise.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;Did I Use AI to Study?&lt;/span&gt;&lt;br /&gt;Yes, I did use AI to study&amp;mdash;and yes, I used ChatGPT. But you need to use it the right way. After watching the lectures, I added a prompt to ChatGPT: &amp;ldquo;Act as a tutor and create multiple-choice questions based on these resources, but don&amp;rsquo;t provide the answers immediately. Instead, correct me if I&amp;rsquo;m wrong and score me.&amp;rdquo; I used this as a review for every single topic that Bruce taught.&lt;/p&gt;
&lt;p&gt;Another AI tool I used was NotebookLM. It was really helpful because I uploaded the source materials&amp;mdash;the PDFs from Bruce that I was able to download. You can also add links from the documentation as sources and create a sort of podcast. The podcast was very useful because I could listen to the exam concepts while driving. I did this every time I needed to drive, as I usually listen to podcasts during my commute, so I made that time productive.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;How Much Time Did I Prepare?&lt;/span&gt;&lt;br /&gt;I wanted to be fully prepared, but with a full-time job, it was challenging, so I made a study plan. I set aside one month to study for the Optimizely exam, studying for 2 hours every day. During those 2 hours, I divided my time into Pomodoros&amp;mdash;25 minutes of focused study followed by a 5-minute break. A month gave me the flexibility to space out study sessions around trips or social events. Although a month worked well for me, if you&amp;rsquo;re in a rush, you could be prepared in as little as 2 weeks. I suggest allowing yourself at least 2 weeks to study.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;What Are the Questions Like?&lt;/span&gt;&lt;br /&gt;The exam questions are multiple choice with a single correct answer, and yes, they include code snippets. If you study and know the code, it&amp;rsquo;s really easy to identify the correct option. There are also scenario-based questions, so make sure you understand the concepts well to recognize the best approach in each case.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;During the Exam, What Did I Do?&lt;/span&gt;&lt;br /&gt;For any online proctored exam, I suggest adding some buffer time. I started 30 minutes in advance to be prepared for any unforeseen issues. This extra time allowed me to fix some internet connection problems before and during the exam. The support team was very helpful and always ready to resolve any issues.&lt;/p&gt;
&lt;p&gt;Also, be sure to read the questions carefully&amp;mdash;this applies to any exam. I read the questions three times if I didn&amp;rsquo;t understand what they were asking. Once I comprehended the question, I was able to answer correctly and have that &amp;ldquo;eureka&amp;rdquo; moment.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;How Difficult Is the Exam?&lt;/span&gt;&lt;br /&gt;I think the difficulty of the exam depends on your preparation. If you study the material and have a good grasp of the concepts, you should be able to pass the exam.&lt;/p&gt;
&lt;p&gt;Any Other Reference Materials?&lt;br /&gt;You can also check out this reference guide for the exam:&lt;br /&gt;&lt;a href=&quot;https://www.optimizely.com/globalassets/miscellaneous/education/exam-guides--reference-guides/cntd_examination_guide_2023_formatted_08302022.pdf&quot;&gt;Optimizely Exam Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, that was my experience with the Optimizely Content Cloud Developer Certification Exam. Good luck to anyone taking the exam, and please feel free to ask questions&amp;mdash;I&amp;rsquo;ll be happy to help.&lt;/p&gt;</id><updated>2025-01-31T21:31:52.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>How I Fixed DLL Conflicts During EPiServer CMS Upgrade to .NET Framework 4.8.1</title><link href="https://world.optimizely.com/blogs/calimat/dates/2024/12/episerver-cms-11-upgrade-project-from-netframework-4-7-1-to-4-8-1-/" /><id>&lt;p&gt;We had a CMS solution of EPiServer 11.26.0, which was built on .NET Framework 4.7.1. We needed to update the target framework from .NET Framework 4.7.1 to 4.8.1 due to security issues, performance, and stability improvements. Stability was a concern because the projects that depended on the CMS were also upgraded. Upgrading those projects was a breeze, but it was not as easy when I tackled the CMS solution. Within the CMS solution, we encountered issues with some DLLs. The first one to cause trouble was the System.Net.Http DLL. This was the monster of all issues, leading to two days of figuring out what was happening.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Before proceeding, I am assuming you have already installed the .NET Framework 4.8.1 runtime and tools on Visual Studio.&lt;/p&gt;
&lt;p&gt;To upgrade any project from one .NET Framework to a higher version, fllow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Visual Studio, right-click the project and select &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Locate the &lt;strong&gt;Target Framework&lt;/strong&gt; field (Figure 1.1) and switch it to .NET Framework 4.8.1.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Confirm the change when prompted.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/link/34942bdf6b774218aaea328b24046250.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Figure 1.1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The recommended approach, if you have multiple projects in the solution, is to upgrade each project one by one. Change the target framework and clean that project individually. If you encounter a build error, it is likely because the project references other projects that haven&amp;rsquo;t been upgraded to 4.8.1 and are still using 4.7.1. Identify these dependent projects and build them first. If you keep getting build errors, repeat this process until you find the isolated project that can build independently. Start with that project, then build the next dependent project, and so on. Don&amp;rsquo;t worry if you don&amp;rsquo;t get it right on the first try.&lt;/p&gt;
&lt;p&gt;Once all my projects built correctly, I thought I was done but missed an issue. The problem appeared in my &lt;strong&gt;web.config&lt;/strong&gt; file:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;/link/50eb09a05bfe42449d253927bf901d3d.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Figure 1.2&lt;/p&gt;
&lt;p&gt;When I changed the web application from .NET Framework 4.7.1 to 4.8.1, it altered the web.config and added a duplicate section at the end of the file:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;img src=&quot;/link/9b0bdd5965a2465e8328d8f72e1464ef.aspx&quot; /&gt;&lt;br /&gt;Figure 1.3&lt;/p&gt;
&lt;p&gt;This duplicated what I already had in the web.config. To fix it, I deleted the duplicate code and ensured that the &lt;strong&gt;httpRuntime &lt;/strong&gt;and &lt;strong&gt;compilation &lt;/strong&gt;tags in the web.config were using the correct framework version (4.8.1 in my case).&lt;/p&gt;
&lt;p&gt;After making these changes, I ran the code again and encountered a different issue with the System.Net.Http DLL:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src=&quot;/link/3237e95ffa004ed09966c05168c5133d.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Figure 2.1&lt;/p&gt;
&lt;p&gt;I resolved this by modifying the binding redirects in the web.config file. The original configuration was:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;language-markup&quot;&gt;&lt;code&gt;&amp;lt;dependentAssembly&amp;gt;
    &amp;lt;assemblyIdentity name=&quot;System.Net.Http&quot; publicKeyToken=&quot;B03F5F7F11D50A3A&quot; culture=&quot;neutral&quot;/&amp;gt;
    &amp;lt;bindingRedirect oldVersion=&quot;0.0.0.0-4.2.0.0&quot; newVersion=&quot;4.0.0.0&quot;/&amp;gt;
&amp;lt;/dependentAssembly&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I updated it to:&lt;/p&gt;
&lt;pre class=&quot;language-markup&quot;&gt;&lt;code&gt;&amp;lt;dependentAssembly&amp;gt;
    &amp;lt;assemblyIdentity name=&quot;System.Net.Http&quot; publicKeyToken=&quot;B03F5F7F11D50A3A&quot; culture=&quot;neutral&quot;/&amp;gt;
    &amp;lt;bindingRedirect oldVersion=&quot;0.0.0.0-4.2.0.0&quot; newVersion=&quot;4.0.0.0&quot;/&amp;gt;
&amp;lt;/dependentAssembly&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Similar issues arose with the System.IO.Compression and System.Diagnostics.Tracing DLLs, so I updated those as well:&lt;/p&gt;
&lt;pre class=&quot;language-markup&quot;&gt;&lt;code&gt;&amp;lt;dependentAssembly&amp;gt;
    &amp;lt;assemblyIdentity name=&quot;System.IO.Compression&quot; publicKeyToken=&quot;B77A5C561934E089&quot; culture=&quot;neutral&quot;/&amp;gt;
    &amp;lt;bindingRedirect oldVersion=&quot;0.0.0.0-4.2.0.0&quot; newVersion=&quot;4.0.0.0&quot;/&amp;gt;
&amp;lt;/dependentAssembly&amp;gt;
&amp;lt;dependentAssembly&amp;gt;
    &amp;lt;assemblyIdentity name=&quot;System.Diagnostics.Tracing&quot; publicKeyToken=&quot;B03F5F7F11D50A3A&quot; culture=&quot;neutral&quot;/&amp;gt;
    &amp;lt;bindingRedirect oldVersion=&quot;0.0.0.0-4.2.0.0&quot; newVersion=&quot;4.0.0.0&quot;/&amp;gt;
&amp;lt;/dependentAssembly&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The problem with System.Net.Http is that when upgrading the framework, different parts of the project referenced specific versions of the assembly. This issue arises because some projects may expect older versions of the DLL, while others expect newer ones. This mismatch results in a runtime error. Adding a binding redirect forces all the projects to reference one specific version. By setting the binding redirect to 4.0.0.0, I ensured the stability of the application, aligning all references to the same version and making the runtime more effective.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;In conclusion, this guide is for anyone encountering errors while upgrading .NET Framework 4.7.1 to 4.8.1 on EPiServer CMS 11.26.0. Now that this is resolved, I can finally enjoy using CMS 11 with .NET Framework 4.8.1.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</id><updated>2024-12-12T20:01:51.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>