DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

Migrating modules from DNN 7 to 9

Sort:
You are not authorized to post a reply.





Growing Member





    Hello devs!
    I need to upgrade my modules from DNN 7 to DNN 9.latest (now 11).

    I know that there are many differences between the 2 versions and I would like to understand which is the correct path to achieve this.

    I have to port 65 projects (including skins, providers, visual components and many other things) and I thought of doing it like this:

    1. Understand the architectural differences between the 2 versions: I don't know where to find specific documentation.
    2. Understand the differences relating to the set of modules and relative functionalities made available by them: I don't know where to find specific documentation.
    3. Understand the modules specifically used by my projects: syncerly, I "won" this from a former colleague... :-\
    4. Proceed step by step developing the conversion of projects.

    I know I was very reductive and I ask for your help to better understand what awaits me.
    (Obviously my boss would like it done by yesterday :-D )

    Thank you all!






    Veteran Member





      Hello Seek:  

      Thank you for your question, also... 

      Did you know there are two DNN conferences coming up?  DNN Summit in February, and DNN-Connect in May.  :)

      The answer to your question is both easier and more difficult than you might thing, in my opinion.  

      Hopefully, you have all of the modules in a single solution.  If you don't you'll just need to repeat these steps in a different instance of Visual Studio, or just repeat them over and over again and testing.  Ideally, you should try to get them all into a single solution, in the long term.  

      1. Fork or branch the code according to your corporate policy and chosen source control.  
      2. Open the solution for the module(s) in question.  
      3. Update the .NET compile target to 4.7.2 or 4.8, depending on your preference.  Both should work fine for now.  
      4. Update the related dependencies to compile against the correct (newer) version of DNN you wish to upgrade to*.  Ideally, this will be as easy as updating all of the Nuget references.  Otheriwse, it might be a simple or convoluted local reference that you may need to reverse engineer.  
      5. Build the solution.  
      6. Resolve any compilation errors (and also any deprecation warnings).  Nearly all of these will be as easy as one line of code difference.  (If you see deprecation warnings about NavigateURL(), I'd suggest skipping that one for the moment.)
      7. Repeat steps 5-6 as many times as necessary.
      8. Once you have clean builds, test your modules on a new test instance of DNN that's upgraded to or past your target DNN version and test thoroughly there.  
      9. Once testing & remediation is successful, build your upgrade plan to commit and schedule deploying everything in production. 

      * Example:  If the version you're trying to move to is 09.10.02, in many instance you should target 09.10.00 and not 09.10.02, but you can do either as long as things work.  

      I hope this helps!  :) 

      You are not authorized to post a reply.

      These Forums are dedicated to the discussion of DNN Platform.

      For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

      1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
      2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
      3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
      4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
      5. No Flaming or Trolling.
      6. No Profanity, Racism, or Prejudice.
      7. Site Moderators have the final word on approving / removing a thread or post or comment.
      8. English language posting only, please.

      Would you like to help us?

      Awesome! Simply post in the forums using the link below and we'll get you started.

      Get Involved