Search code examples
dotnetnuke

How to keep DNN menu items in sync on different environments?


I have a website based on DNN on different environments (DEV & QA, STAGE, PRE-PROD, PROD & DEMO). I want all the menu items and the complete menu structure to be in sync across all those environments. Ideally I would like to treat PROD as the MASTER configuration and find a way to copy the whole menu structure from PROD to other environments. Does anyone have any tips or insights on how this can be achieved?


Solution

  • One approach might be to export production as a Portal Template and then import/apply that template into your other environments on a regular basis.

    That is likely the only out of the box way to do this with DNN. Otherwise you're going to need to create DB synchronization scripts.

    Update: List of tables off the top of my head that would need updated (this is assuming you only want to maintain the PAGES not the content on the pages

    Tabs TabSettings TabPermissions

    With DNN 7.1.* you may also need to worry about TabURLs

    If you want content, you'll need Modules TabModules ModuleSettings and whatever Content tables the modules use (ex: HTML module uses the HTMLText table)