<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Matthew Slim</title> <link>https://world.optimizely.com/blogs/matthew-slim/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>New menu system released!</title>            <link>https://world.optimizely.com/blogs/matthew-slim/dates/2023/6/new-menu-system-released/</link>            <description>&lt;p&gt;With the release of the 12.22.0 Optimizely CMS UI packages, the menu system has been redesigned and relocated to the left hand side as a result of a company initiative.&lt;/p&gt;
&lt;p&gt;Whilst relocating this menu, it has been give a more modernised look and feel, whilst ensuring no core functionality is lost. The new menu will always be present to enable much smoother navigation and overall a more seamless experience within the CMS.&lt;/p&gt;
&lt;p&gt;There are six individual tabs within the new menu system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dashboard&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edit&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reports&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audiences&amp;nbsp;&lt;/strong&gt;(formerly Visitor groups)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Settings&amp;nbsp;&lt;/strong&gt;(formerly Admin)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add-ons&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add-ons were also included so you can access your third-party add-ons.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/f04ccc177fac4e528cb57ab32386eb17.aspx&quot; width=&quot;258&quot; height=&quot;613&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This new menu system has been designed with the end user in mind, so when a selected menu has no children (for example Dashboard, Reports), the menu will be fully expanded to show both icons and its associated name alongside that icon. When a menu item has a nested level or a child (for example Settings), the menu will only display the icons. The only exception to this rule is the Edit menu item, which has no children but as we will have the content tree aswell, we want to ensure the user has enough screen estate to conduct their editorial process as usual, so therefore we only show the icon view in the new menu system whilst in Edit mode.&lt;/p&gt;
&lt;p&gt;Whilst the new menu system only displays icons, you can hover over each of the menus icons to display a tooltip with each respective label, as shown in the diagram below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/8e451a9eafd049b694e145fa075f400b.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You will be presented with the same screens whilst going into the all menus apart from Settings. As with this new menu, rather than another having to navigate via another toolbar to access specific Admin settings, you are presented with all available Admin settings within the second level of the menu system.&lt;/p&gt;
&lt;p&gt;When a category itself has its own children, for example &#39;Access Rights&#39;, these will be made clear as they will be collated together in their own category, as shown in the screenshot below.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/4316de547e3b4bee8a535bd6883f169d.aspx&quot; width=&quot;353&quot; height=&quot;816&quot; /&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/matthew-slim/dates/2023/6/new-menu-system-released/</guid>            <pubDate>Thu, 29 Jun 2023 16:10:25 GMT</pubDate>           <category>Blog post</category></item><item> <title>Caching &amp; Rendering of metadata from the DAM</title>            <link>https://world.optimizely.com/blogs/matthew-slim/dates/2023/6/caching--rendering-of-metadata-from-the-dam/</link>            <description>&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;For the &lt;strong&gt;EPiServer.Cms.WelcomeIntegration.UI 1.2.0&lt;/strong&gt; release, we have facilitated the ability to cache and render metadata from assets within the DAM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;We have enabled the retrieval of metadata for assets from Welcome&#39;s DAM via a C# API. This allows the metadata to be utilised to determine how the asset is rendered in the delivery site.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;We have also enabled caching of the metadata, so in the event where the Welcome DAM library may be temporarily unavailable, as long as the metadata has been cached, it can still be used to establish how the asset is to be rendered in the delivery site. By default, caching has been set to a time period of 10 minutes, but the option to confiugure this is available.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;The existing Welcome DAM asset picker integration has not changed, and when new attributes have been added in the Welcome DAM and are included in the metadata, it will be available in the API without any necessary code changes.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Configuration&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;span class=&quot;ui-provider hc b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak&quot;&gt;Pre-requisite:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;span class=&quot;ui-provider hc b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak&quot;&gt;I&lt;span&gt;&lt;span class=&quot;ui-provider hc b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak&quot;&gt;nstall Optimizely.Cmp.Client&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;span class=&quot;ui-provider hc b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak&quot;&gt;We&#39;ve added a second, optional parameter to the &lt;strong&gt;&lt;code&gt;AddDAMUi&lt;/code&gt; &lt;/strong&gt;method where you have to provide the credentials as shown in the picture below.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;span class=&quot;ui-provider hc b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak&quot;&gt;&lt;img src=&quot;/link/df00b3e32e0b4821bf62299963971ade.aspx&quot; width=&quot;431&quot; height=&quot;165&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;You can also provide the Client ID and Client Secret via &lt;code&gt;&lt;strong&gt;appsettings.json&lt;/strong&gt;&lt;/code&gt;, as the second parameter is an &lt;strong&gt;&lt;code&gt;Options&lt;/code&gt;&lt;/strong&gt; configuration - &lt;strong&gt;&lt;code&gt;CmpClientOptions&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration: underline; font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;strong&gt;To use this feature, there are three possible options:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Use the provided C# service to get the metadata from Welcome by injecting the &lt;strong&gt;&lt;code&gt;IDAMAssetMetadataService&lt;/code&gt; &lt;/strong&gt;where you wish to use it.&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;The &lt;strong&gt;&lt;code&gt;IDAMAssetMetadataService&lt;/code&gt; &lt;/strong&gt;contains one method, &lt;code&gt;&lt;strong&gt;GetAssetMetadata(Guid id)&lt;/strong&gt;&lt;/code&gt; which can be used to retrieve metadata from Welcome using the GUID of a specific asset. This GUID can be found within the information dialog of any asset in Welcome.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Use our &lt;strong&gt;&lt;code&gt;HtmlHelper&lt;/code&gt; &lt;/strong&gt;extension method, &lt;strong&gt;&lt;code&gt;RenderTagWithMetadata&lt;/code&gt; &lt;/strong&gt;which will render an appropriate HTML tag, based on what the asset being retrieved is.&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;To use it, you have to import &lt;strong&gt;&lt;code&gt;@using EPiServer.Cms.WelcomeIntegration.UI.Helpers;&lt;/code&gt;&lt;/strong&gt; inside a &lt;strong&gt;&lt;code&gt;.cshtml&lt;/code&gt;&lt;/strong&gt; page of choice, as well as use the page model which contains a &lt;strong&gt;&lt;code&gt;ContentReference&lt;/code&gt;&lt;/strong&gt; property&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Then, call the &lt;strong&gt;&lt;code&gt;@await Html.RenderTagWithMetadata(x =&amp;gt; x.YourWelcomeContentReference)&lt;/code&gt;&lt;/strong&gt; with an expression which provides a &lt;strong&gt;&lt;code&gt;ContentReference&lt;/code&gt;&lt;/strong&gt;. This &lt;strong&gt;&lt;code&gt;ContentReference&lt;/code&gt;&lt;/strong&gt; should be linked to a Welcome Asset&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Your page should now render either an image, a video or a link to the supported file with the respective metadata attached to the HTML tag&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Use our &lt;strong&gt;&lt;code&gt;TagHelper&lt;/code&gt;&lt;/strong&gt; called &lt;strong&gt;&lt;code&gt;DAMAssetTagHelper&lt;/code&gt;&lt;/strong&gt; which does the same thing as above, but is used a bit differently&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;To use it, first add the tag helper in your &lt;strong&gt;&lt;code&gt;_ViewImports.cshtml&lt;/code&gt;&lt;/strong&gt; file:&lt;strong&gt;&lt;code&gt;@addTagHelper *, EPiServer.Cms.WelcomeIntegration.UI&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Add &lt;strong&gt;&lt;code&gt;&amp;lt;dam-asset content-reference=&quot;@Model.YourWelcomeContentReference&quot;/&amp;gt;&lt;/code&gt;&lt;/strong&gt; to your &lt;strong&gt;&lt;code&gt;.cshtml&lt;/code&gt;&lt;/strong&gt; page of choice&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Your page should now render either an image, a video or a link to the supported file with the respective metadata attached to the HTML tag&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;We currently support images, videos and some files, such as PDFs, Word Documents, Excel Spreadsheets, Zip and 7Zip files. In the case of files, an anchor tag will be rendered to link to that specific file.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Currently, this is only supported in CMS 12.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt; font-family: helvetica, arial, sans-serif;&quot;&gt;Example &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;Quick example with HtmlHelper and TagHelper on Alloy site:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;img src=&quot;/link/2cd3b6c5f89543f4a8adf5bb7ca637f5.aspx&quot; width=&quot;519&quot; height=&quot;155&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;End result:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: helvetica, arial, sans-serif;&quot;&gt;&lt;img src=&quot;/link/ae729f7322c84b52873796b5b16bb92f.aspx&quot; width=&quot;521&quot; height=&quot;327&quot; /&gt;&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/matthew-slim/dates/2023/6/caching--rendering-of-metadata-from-the-dam/</guid>            <pubDate>Fri, 02 Jun 2023 14:42:37 GMT</pubDate>           <category>Blog post</category></item><item> <title>New dashboard implemented in CMS UI 12.18.0</title>            <link>https://world.optimizely.com/blogs/matthew-slim/dates/2023/3/new-dashboard-implemented-in-cms-ui-12-18-0/</link>            <description>&lt;p&gt;As part of the CMS UI 12.18.0 release&lt;strong&gt;,&lt;/strong&gt; a new dashboard has been added as a &amp;lsquo;one stop shop&amp;rsquo; to enable editors to access all of their content items, thus allowing them to create, edit and review content and have a more holistic view of content and where it sits in the workflow.&lt;/p&gt;
&lt;p&gt;The dashboard aims to overcome tedious day to day issues editors faced when searching for specific content. Editors would have to scroll through potentially very complex content trees to find what they are looking for, which in itself could cause some performance issues, and the dashboard fixes this by listing out all of the content items they have been working on in an ordered manner. A concept of the dashboard was first demoed during Opticon 2022, and it generated some really great feedback.&lt;/p&gt;
&lt;p&gt;The dashboard will be the first port of call once logged in if the user has access to the CMS Edit UI.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;First Release&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The first release of the pre-configured dashboard includes two main features (Workflow statuses &amp;amp; Broken Links).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/bb0b188bba20424b840bca6ef6c756b2.aspx&quot; alt=&quot;blobid0.png&quot; width=&quot;667&quot; height=&quot;423&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;Workflow statuses:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The workflow statuses gadget allows the editors to locate all of their previous work, from all parts of the workflow. The default statuses are as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CheckedOut&lt;/strong&gt; (Drafts)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AwaitingApproval&lt;/strong&gt; (In Review)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CheckedIn&lt;/strong&gt; (Approved)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeplayedPublish&lt;/strong&gt; (Scheduled)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rejected&lt;/strong&gt; (Rejected).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please note you can add your own status settings if you prefer to.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When you go onto the Dashboard, a total count for each workflow status will be presented, and if there are more than 5 pieces of content within one particular status, then pagination will be implemented allowing editors to access all of their content as they please.&lt;/p&gt;
&lt;p&gt;Editors will be able to filter the content shown by either content name, or by changing the &amp;lsquo;Modified By&amp;rsquo; tab to either &amp;lsquo;Anyone&amp;rsquo; or &amp;lsquo;Me&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Sorting via all 3 columns is available (Name, Last modified, Modified by), where the default setting is sorting by Name ascending, and the last modified date is displayed in the local time zone.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;Broken Links:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The broken links gadget allows the editor to see what broken links exist at the time the Link Validation scheduled job was ran. A &amp;lsquo;Last Updated Date&amp;rsquo; is displayed alongside this in the local time zone (using ICurrentCultureAccessor.CurrentCulture).&lt;/p&gt;
&lt;p&gt;The editor is then able to click on the link which will direct them to the content where that broken link exists. The broken links gadget will only show content that the current user has the permissions to edit, and will only be updated when the dashboard has been refreshed.&lt;/p&gt;
&lt;p&gt;The total count of broken links is generated from the number of broken links that exist in the database.&lt;/p&gt;
&lt;p&gt;The broken links gadget will show up to 5 items on the dashboard, and the view full report link is available will which navigate the user to the link status report page &amp;ndash; providing more detail around each individual broken link.&lt;/p&gt;
&lt;p&gt;If content contains 2 or more broken links, this will be represented within the broken links gadget to avoid duplicated items to provide even more appropriate information for the editor.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;Future iterations?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;As this is only the first release, we do plan on continuously improving the dashboard and implementing new features to improve the overall usage &amp;amp; experience of this new feature!&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/matthew-slim/dates/2023/3/new-dashboard-implemented-in-cms-ui-12-18-0/</guid>            <pubDate>Tue, 28 Mar 2023 10:49:27 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>