November Happy Hour will be moved to Thursday December 5th.

EpiServer.CMS Update from 9.7.2 to 11.21.7

Vote:
 

Hi everyone, we're approaching to a huge upgrade of an EpiServer system that currently runs a 9.7.2 version and we need to migrate it to the latest version. We'd like to know if there is some documentation available about this task (guidelines, best practices, to-to lists) that can lead us in this operation.

Thanks

A.

#207600
Sep 26, 2019 15:44
Vote:
 

The core process for updating is covered here https://world.episerver.com/documentation/Items/Installation-Instructions/Installing-Episerver-updates/

Obviously there are going to be some large updates when going that far, I have recently done similar so one area I know changes for example is TinyMce that needs moving to code initialization.

The best way IMO is to go through https://world.episerver.com/uifeatures/ and https://world.episerver.com/releases/ back to when you are upgrading from. You can use the uiFeatures list to know what core UI changes and also to help in handover and the releases page will tell you about any breaking changes. You can then go through them and work out what has been affected and work out what will need to be done.

#207603
Sep 26, 2019 16:24
Vote:
 

P.S it may not be from that, but Edgecrusher is the name of my favourite song by Fear Factory \m/

#207604
Sep 26, 2019 16:26
Vote:
 

Thank you Scott, we'll start from the releases list as you suggested. We'll take a step-by-step approach, updating from 9 to 10 and then, only when everything looks good, from 10 to 11.

I've made a quick research and TinyMce looked like a huge issue to someone...I hope to don't spend too much time on it.

Thank you

A.

#207606
Sep 26, 2019 16:37
Vote:
 

Yes it was a bit of an effort when we upgraded and I couldn't find any good examples.

[ModuleDependency(typeof(TinyMceInitialization))]
    public class TinyMceInitializationModule : IConfigurableModule
    {
        /// <inheritdoc />
        public void Initialize(InitializationEngine context)
        {
        }

        /// <inheritdoc />
        public void Uninitialize(InitializationEngine context)
        {
        }

        /// <inheritdoc />
        public void ConfigureContainer(ServiceConfigurationContext context)
        {
            context.Services.Configure<TinyMceConfiguration>(config =>
            {
                config.Default()
                    .AddEpiserverSupport()
                    .EnableImageTools()
                    .Width(770)
                    .AddPlugin("code")
                    .RawSettings(new Dictionary<string, object>()
                    {
                        { "entity_encoding", "raw" }
                    })
                    .Toolbar("styleselect | bold italic underline | epi-link image epi-image-editor epi-personalized-content | cut copy paste pastetext | bullist numlist outdent indent | searchreplace fullscreen | code | help")
                    .StyleFormats(
                        new { title = "--- Headings ---"},
                        new { title = "Header 1", block = "h1" },
                        new { title = "Header 2", block = "h2" },
                        new { title = "Header 3", block = "h3" },
                        new { title = "Header 4", block = "h4" },
                        new { title = "Header 5", block = "h5"},
                        new { title = "Header 6", block = "h6"},
                        new { title = "--- Paragraph Styles ---" },
                        new { title = "Paragraph", block = "p" },
                        new { title = "Italic Text", inline = "em" },
                        new { title = "Marked Style", inline = "span", classes = "mark" },
                        new { title = "Strong Text", inline = "strong" },
                        new { title = "Emphasis", inline = "em"},
                        new { title = "Small Text", inline = "small" },
                        new { title = "Short Quote", inline = "q"},
                        new { title = "--- Testimonial Types ---" },
                        new { title = "Quote", block = "blockquote"},
                        new { title = "Quote Testimonial", block = "blockquote", classes = "testimonial" },
                        new { title = "Right-Aligned Testimonial", block = "blockquote", classes = "smaller" },
                        new { title = "Quote Citation", inline = "cite"},
                        new { title = "--- Buttons ---" },
                        new { title = "Button", inline = "a", classes = "sja__cta sja__cta--grey-dark" }
                    );
            });
        }
    }

This is our one I created, the core thing to be aware of is to check the plugin area on TincyMce and you have to make sure to add the plugin (the package) before using it on a Toolbar.

For example I added "code" plugin so I could add the "code" button (for exiting HTML). Then the style formats add in all the changeable styles. Annoyingly there's no separators so I'm using text with ---- heading ----- and no action which works. Hit me up if you have trouble.

#207608
Sep 26, 2019 16:44
Edgecrusher - Sep 26, 2019 16:53
Thank you so much!
Vote:
 
P.S.

Console.WriteLine(AllMetalGroups.Where( x => x.Brutality > Int64.MaxValue && x.IsTerrific && User.HeadbagingTime == x.TotalSongsLength).Select( x => x.BandName));
-------------------------- 

Fear Factory
#207611
Sep 26, 2019 16:51
- Sep 26, 2019 16:56
haha love it!! :p
Vote:
 

You'll have to migrate all datetime properties to UTC, and PageData.StartPublish can now be null.

#207672
Sep 29, 2019 21:08
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.