• Login
  • Register

DNN Forums

A community discussion page. We're starting from scratch, so...let's get the party started!

Create pages from outside DNN

You are not authorized to post a reply.
Sort:


New Member


Posts:3
New Member

    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/net-development-tips/dynamically-creating-tabs-and-adding-modules-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


    Posts:620
    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 Member


      Posts:3
      New Member

        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


        Posts:626
        Veteran Member

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

          I found a previous article here http://burnignorance.com/net-development-tips/dynamically-creating-tabs-and-adding-modules-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


          Posts:620
          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 Member


            Posts:3
            New Member

              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


              Posts:620
              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 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. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
                2. 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.
                3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
                4. No Flaming or Trolling.
                5. No Profanity, Racism, or Prejudice.
                6. Site Moderators have the final word on approving / removing a thread or post or comment.
                7. 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