DNN Forums

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

Create pages from outside DNN

Sort:
You are not authorized to post a reply.





New Around Here





    I'm working on building my own migration tool to move our sites from SharePoint 2013 into DNN/EVOQ. I already have the tool extracting the path, filename, page summary, and page content. What I'm trying to work on now is it's ability to create a matching page in DNN for that content.

    I found a previous article here http://burnignorance.com/...dules-in-dotnetnuke/ which talks about it a little bit, but it doesn't go into detail about how to get reference to the "portal" when your code isn't running from within the DNN codebase.  In my case this will be a windows forms application and within it I will be specifying the SharePoint server (and credentials to connect to it) AND the DNN portal (and credentials to connect to it).

    The ideal process would be if the page requires a parent page (if so look up the parent pageID) then create the target page with a default HTML module, populate the filename, title, summary, page security, parentpage ID, and then populate the default HTML module content from the PageContent of SharePoint.

    If anyone has any information on how to get access from a windows application to the PortalSettings that would be a great help. If anyone has done anything like this before and would be willing to share what they have or learned that would be a HUGE help.  I'm planning on releasing what I have done once it's working and I've ran it through it's paces.  I've got to believe it would be valuable as either a reference or a stepping stone for soneone else looking to migrate but faced with a very large amount of data to transfer.

     






    Veteran Member





      First, as you are using Evoq, I'd suggest that you ask for help from the Evoq support team. After all, you've paid for it!

      If I were doing this, I'd probably try to create Evoq page templates from your SharePoint pages. Manually create an Evoq page that matches a SharePoint page. Then you can use that as a template for subsequent pages. That won't automatically create the new pages, but will give you something that can. You should then be able to write something that will import the page templates to create the new pages.

      How you do this would depend on the number of pages. Since you've mentioned SharePoint, I'd guess that the number of pages might justify it. With a few tens of pages, I might just do the whole think by cut and paste. Manually, you might be looking at 5 to 10 minutes per page.
      Joe Craig
      DNN MVP
      Patapsco Research Group





      New Around Here





        Honestly, I have so many outstanding items with support right now that it's not even funny. I actually have started chronicling all the things I'm coming up against and how or if I'm able to work around or through them.

        The amount of pages I have is in the thousands so copy and paste not really an option in a realistic timeframe. I think I'm going to try and see if I can't get it to work by instead of creating pages creating a "restore" package of the pages and page content then using the "restore" feature to perform the actual creates for me. This eliminates the need for my client to know the DNN/EVOQ server info, as it's just creating a liteDB structure.

        By reverse engineering an existing backup I may be able to figure out what needs done.





        Veteran Member





          Posted By Chris Wollesen on 16 Sep 2019 10:41 AM

          I found a previous article here http://burnignorance.com/...dules-in-dotnetnuke/ which talks about it a little bit, but it doesn't go into detail about how to get reference to the "portal" when your code isn't running from within the DNN codebase.  In my case this will be a windows forms application and within it I will be specifying the SharePoint server (and credentials to connect to it) AND the DNN portal (and credentials to connect to it).

          There have been other WF apps that addressed the database.
          I think there was one for removing spam users, but I'm not sure were you could find it.
          If you google getting the Portal from an http module (.net) you might find your answer as that's also outside of the DNN context.


           

           






          Veteran Member





            Or, just insert it yourself. With something as specialized as this, you're going to know the PortalId, or be able to look it up.
            Joe Craig
            DNN MVP
            Patapsco Research Group





            New Around Here





              BTW for others who may be looking to do this while I haven't given up on the backup/restore option I also found another possible route and that is to script the creates using Dnn-Powershell and DNNPrompt. Looks like it might have saved me a lot of trouble but now that I'm down the rabbit hole I want to see how far it goes.





              Veteran Member





                I'll be interested in your progress doing this. Please let us know if/how you are successful with this approach.
                Joe Craig
                DNN MVP
                Patapsco Research Group
                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