Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Dan 1285 posts 3917 karma points c-trib
    Jan 24, 2017 @ 19:49
    Dan
    0

    Upgrade Merchello 2.1.0 to 2.1.1, with FastTrack

    Hi,

    I have a site running Merchello 2.1.0, based on FastTrack. There's a bug fix I require from v2.1.1 (http://issues.merchello.com/youtrack/issue/M-1082) so I'm wondering what the best way is to upgrade?

    I tried running an upgrade a couple of weeks ago for a different bug, and I forget what I tried to do, but it ended up with all of the FastTrack content nodes being re-generated and it turned into a real mess, so I reverted everything back to 2.1.0 and hacked a way around the bug. This time though I'm really looking for a lightweight way of just upgrading the core Merchello codebase rather than doing anything that's going to change views/content nodes/assets etc.

    Any advice most welcome.

    Many thanks.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 24, 2017 @ 20:01
    Rusty Swayne
    0

    Hey Dan,

    The upgrades should be pretty straight forward - copy the DLL's and App_Plugins folders.

    However, if you've done any revisions to the views for styling or additional functionality, you would have to manually merge those files.

    You CANNOT update either Merchello or FastTrack at this point through the package manager in the back office.

    We are hoping to provide a way to upgrade fully via NuGet in Version 3 ... but that is based on Umbraco 8 and still a long ways out.

  • Dan 1285 posts 3917 karma points c-trib
    Jan 24, 2017 @ 20:14
    Dan
    0

    Thanks Rusty. So do I need to copy the DLLs and App_Plugins from both Merchello and FastTrack zips in the 'Archived files' on the project page, or just the Merchello zip?

    Actually, looking at it, there isn't a 2.1.1 in there, so what would be the least impactful version to upgrade to? I also note there's a Merchello.2.2.0.upgrade.zip too, but I don't see upgrades for other versions, so I'm a little bit confused.

    What would you recommend (considering I have very little time to spend on this upgrade)?

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 24, 2017 @ 20:24
    Rusty Swayne
    0

    Hey Dan,

    I wound up stop doing the .upgrade.zip files as there was the reverse problem of people using those through the package manager and not reading what the actual contents contained.

    The easiest way is to do a quick install of Merchello and FastTrack into a fresh Umbraco instance and simply copy/merge the files.

    I use a tool called Beyond Compare which identifies differences so I can do it quickly (but I've usually customized my views quite a bit as well).

    You can update the for Merchello and FastTrack via NuGet - BUT the App_Plugins directories are not included in the Merchello NuGet package ...

    Make sense?

  • Dan 1285 posts 3917 karma points c-trib
    Jan 24, 2017 @ 20:28
    Dan
    1

    Okay, thanks. I seem to remember I did a fresh Umbraco install and installed Merchello and FastTrack on my previous attempt, but I'll try to do it more carefully this time :)

    I'll update here if/when it's sorted, thanks.

  • Dan 1285 posts 3917 karma points c-trib
    Jan 25, 2017 @ 22:51
    Dan
    0

    Hi Rusty,

    I've set up a new Umbraco 7.4.3 site to match the site I'm trying to upgrade, and have installed Merchello2.2.1 and FastTrack2.2.1 as local packages via the back-office into this fresh site.

    I've then copied all Merchello.*.dll files from 'bin' on this new site into the site I want to upgrade. I've also done a diff on the AppPlugins files, and there didn't seem to be anything I've altered in there except adding a couple of memberTypes in the merchello.config, so I've deleted the 'FastTrack', 'Merchello' and 'MerchelloProviders' from AppPlugins in my upgrade site and copied the ones from the fresh site in there.

    The back-office on the upgrade site seems to work okay. However, on the front-end I'm receiving "Object reference not set to an instance of an object" errors everywhere ExampleUiHelper is called e.g.

    var basketPage = ExampleUiHelper.Content.GetBasket();
    

    Any ideas?

    Many thanks.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Jan 26, 2017 @ 16:27
    Rusty Swayne
    1

    The ExampleUiHelper is an object in the FastTrack.Ui library ... https://github.com/Merchello/Merchello/blob/merchello-dev/src/Merchello.FastTrack.Ui/ExampleUiHelper.cs

    It's not require to run Merchello - it's just a navigation helper to assist in quickly finding pages via document type ... straight Umbraco stuff. The only reason why it is there, is I did not want to clutter the views with a bunch of razor code that had nothing to do with Merchello so I thought to isolate the functionality in a class to keep it out of the way so people could focus on the actual Merchello bits.

    All the line

     var basketPage = ExampleUiHelper.Content.GetBasket();
    

    does is to get the Umbraco IPublishedContent node of the page the basket view has been added. You could easily replace the line with

     var basketPage = Umbraco.TypedContent([myid]); // or some other method
    
  • Dan 1285 posts 3917 karma points c-trib
    Jan 27, 2017 @ 09:05
    Dan
    0

    Ah, that makes total sense, thanks Rusty. I guess my concern would be why that method suddenly stopped working - it seems like it's still in the code-base so should still work, right?

    I'm not going to get time on this project to upgrade 'properly' but no doubt will need to tackle this again at some point.

    Thanks

  • Dan 1285 posts 3917 karma points c-trib
    Jan 25, 2017 @ 23:54
    Dan
    0

    I've just restored everything back and tried again, this time copying over the relevant dlls and copying all App_Plugins files from the fresh site into the upgrade site without first deleting the files in the upgrade site (which I did last time).

    I still get the same error, so I'm admitting defeat on the upgrade.

    So the only solution I can think of is to pull down the source of v2.1.0 and apply the bug fix, then re-compile and include the compiled Merchello.Providers.dll in the old site. This works, albeit a last resort.

  • Dan 1285 posts 3917 karma points c-trib
    Mar 30, 2017 @ 20:56
    Dan
    0

    I need to try to upgrade this same site properly now, so I'm attempting to again upgrade from 2.1.0 to 2.1.1. I'm hitting the exact same issue though. Anything which calls 'ExampleUiHelper.Content...' returns null. I can update these as mentioned by Rusty to use vanilla Umbraco methods (Umbraco.TypedContent(1234) etc) but the references to ExampleUiHelper.Content are called in a lot of places, including in the App_Plugins/Merchello views, making subsequent upgrades more problematic if changed.

    I really want to get to the bottom of why this upgrade results in ExampleUiHelper.Content... methods returning null.

    Does anyone have any idea why this might be happening? I thought it could be something to do with the Examine indexing, but I've cleared the Temp files and republished all etc, to no avail.

    Many thanks for any pointers.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Mar 30, 2017 @ 21:52
    Rusty Swayne
    101

    Hey Dan - not at my desk at the moment, but can you confirm you have a config file in the FastTrack App_Plugins folder. The example helper was changed around that time to use configurable xpath...

  • Dan 1285 posts 3917 karma points c-trib
    Mar 30, 2017 @ 22:29
    Dan
    0

    Thanks Rusty. I've been reading around various (different) errors posted on the forum here and had come across one (https://our.umbraco.org/projects/collaboration/merchello/merchello/83790-no-route-in-the-route-table-matches-the-supplied-values) which mentions a FastTrack config file at /App_Plugins/FastTrack/Config/fasttrack.config. I can confirm I don't have this file in the original 2.2.0 site, nor is it in the brand-new instance of 2.2.1 I've copied across. I suspect this is the culprit.

    So... how to resolve this? Would I be best to ignore the front-end errors and move straight to 2.3.0 and hope that installs the config? Or perhaps it's just a case of adding that file by itself (in which case where should I get it from to ensure it's the right version, if it's not being shipped in the FastTrack 2.2.1 package?

    Thanks :)

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Mar 30, 2017 @ 22:55
    Rusty Swayne
    0

    That's definitely the issue then. Just grab a copy of the config (latest version as the was one new entry for store root macaroon if I remember) and add it to your project in AppPlugins/FastTrack/Config/ ... that should get things tidy. That have not been many changes to the FastTrack appplugins - mainly dll, but always good to compare.

  • Dan 1285 posts 3917 karma points c-trib
    Mar 31, 2017 @ 07:52
    Dan
    1

    Great, thanks Rusty. With some more tweaking (adding references to the FastTrack config in the web.config and updating the doc-type aliases in fasttrack.config) that worked! Thanks so much for your help.

Please Sign in or register to post replies

Write your reply to:

Draft