Git Product home page Git Product logo

flowpowerappsmigrator's Introduction

SharePoint Online Windows Version

Flow & Power Apps Migrator

Have you ever tried moving canvas apps or cloud flows across Microsoft 365 tenants or sites? This is a common task when deploying apps and flows to production. Apps and flows must be exported, and imported, and SharePoint actions must be manually updated. These manual updates are error-prone and labor-intensive. Flow & Power Apps Migrator automatically converts exported flows and apps to be compatible with the target environment.

Flow & Power Apps Migrator also helps you migrate SharePoint lists that are used as a dependency for your Apps and Flows. There is an interactive UI form that lets you do just that.

Finally, the Flow & Power Apps Migrator converts SharePoint List Forms customized with Power Apps.

Download the latest version

Β Β 

Watch a Demo

Prerequisites

  • PowerShell 5.0 or later.
  • Make sure that the SharePoint site exists in the target environment. You don't have to create Lists and Libraries because this tool will do it for you.
  • Download the latest version of the Flow & Power Apps Migrator.
  • Extract the ZIP package.
  • Open a regular Windows PowerShell command prompt.
  • Navigate to the extracted folder.
  • Unblock the script files using the following command: Get-ChildItem -Recurse | Unblock-File

Migrate-able artifacts

Artifact Support
Standalone Canvas Power Apps βœ”
Customized SharePoint List Forms Canvas apps βœ” This works again since September 2022
Canvas Power Apps that trigger Flows βœ” (flows are also migrated)
Standalone Cloud Flows βœ”
Standalone Desktop Flows ❌
Standalone Model-driven apps N/A (not tested)
Solutions containing multiple canvas apps and flows βœ”
SharePoint Connectors βœ”
Non-SharePoint Connectors such as Word for Business ❌
SharePoint Lists βœ”
SharePoint Libraries βœ”
Cross-Language Lists migration ❌ Both source and target sites must be created with the same language. Otherwise, you'll get the 0x80070005 (E_ACCESSDENIED) error
JSON List customizations βœ”
JSON Column formatting ❌
SharePoint data ❌
Content Types βœ” (migrated automatically)
Lookup fields ⚠️ (migrated only if you migrate the lookup list, too)
Data Sources located in a single site βœ”
Data Sources located in multiple sites and sub-sites ❌

Convert flows, apps and solutions

Export flows, apps and solutions

Export all of your flows:

Export all of your apps:

2. Place exported flows, apps and solutions in the src folder

3. Run Migrate-Packages.bat

The scripts will iterate through all ZIP files inside the \src directory and convert them to be compatible with the new Microsoft 365 tenant or site.

  • Run Migrate-Packages.bat script

  • Enter source site URL and target site URL:
  • Keep MIGRATE_LISTS property set to True if you want to migrate SharePoint lists and libraries.

image

  • Select lists and libraries to migrate

image

  • Sit back and wait for the lists and libraries to be migrated and the conversion process to finish.

4. Navigate to the \dist folder and collect converted flows, apps and solutions

5. Import converted flows, apps and solutions

Now you can import your flows and apps to the destination tenant. All SharePoint actions will now be converted and point to the new location.

Power Apps data sources are all converted

Flow actions are also converted

How it works

Flow & Power Apps Migrator finds all unique IDs pointing to the source SharePoint site and replaces them with the destination IDs. resourceMapping.csv contains the mapping of these IDs.

Limitations

  • Does not support macOS and Linux.
  • Only SharePoint data sources are updated.
  • ZIP packages might not be converted if placed in a long path name on disk. For this reason, try placing the migrator as close to the root drive as possible.

Preparing a deployment package for your Clients and Partners

What if you created an app or flow you want your Client or Partner to have? You can package your SharePoint Lists and the apps and flows in a single package. Then you would like to hand over this package and simple installation instructions. Guess what? There is a script that prepares this package automatically for you.

Prepare-Deployment-Package-for-Client.bat script prepares a deployment package you can share with your Clients or Partners.

On your end

  • Run Prepare-Deployment-Package-for-Client.bat

image

  • Export your Solutions, Power Apps and Flows and save them to the package\src directory

image

  • Send the package directory to your Client or Partner.

image

On the Client's side

  • If it does not already exists, create a SharePoint Online site. It will contain SharePoint Lists and Libraries that Power Apps/Flows require.
  • Open the package directory.
  • Run Convert-Packages.bat script.
  • Provide target site URL.
  • Import all solutions, flows and apps from the dist directory.

Note: Convert-Packages.bat will:

  • Deploy SharePoint lists and libraries (if you want to package them)
  • Convert Apps and Flows from src and saves them to 'dist'.

image

Migrating Power Apps SharePoint List Form

SharePoint List forms customized with Power Apps can be migrated if you follow these steps:

  • Navigate to your SharePoint List

  • Click on one of the SharePoint list items

  • Click on the ellipsis (3 dots) > Customize with Power Apps:

  • Power apps Editor will open.

  • Click on File > See all versions

  • Click Export package:

  • Type your app name

  • Select "Create as new" under Import setup

  • Click Export

  • Place the exported package in the \src directory
  • Run Migrate-Packages.bat script

Latest Updates

3.10.0 Version - 2024-01-18

Changes

  • Removed migration of the column formatting JSON. This was causing the issues with the migrated lists.
  • Removing the migration of several out-of-the-box content types.

3.9.8 Version - 2023-09-25

Changes

  • Added additional tips to the users who are getting the 0x80070005 (E_ACCESSDENIED) error.

3.9.7 Version - 2023-09-22

Changes

3.9.6 Version - 2023-09-06

Changes

3.9.5 Version - 2023-08-30

Changes

  • Removed the REST API call that was causing 403 error for some users.

3.9.4 Version - 2023-08-06

Changes

  • The pnp:SiteFields node is now automatically removed from the Lists.xml PnP provisioning template if it's empty. An empty node was causing the "invalid template" errors.

3.9.3 Version - 2023-07-14

Changes

  • Removing more fields causing the infamous 0x80070005 (E_ACCESSDENIED) error.
  • Trimming trailing slashes in the site URLs

Known issues

  • Migrated lists with custom content types end up with an extra content type that should be deleted manually after migration.
  • Migrated lists might need fields added to the content type or a form. In some cases, migrated lists show only the Title in the edit form.

3.9.2 Version - 2023-07-05

Changes

  • Removing Site fields causing the infamous 0x80070005 (E_ACCESSDENIED) error.

Known issues

  • Migrated lists with custom content types end up with an extra content type that should be deleted manually after migration.
  • Migrated lists might need fields added to the content type or a form. In some cases, migrated lists show only the Title in the edit form.

3.9.1 Version - 2023-06-11

Changes

Known issues

  • If the source and the target sites were created using different languages, then the app migrator will fail with the Access is denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) error.
  • Migrated lists with custom content types end up with an extra content type that should be deleted manually after migration.
  • Migrated lists might need fields added to the content type or a form. In some cases, migrated lists show only the Title in the edit form.

3.9.0 Version - 2023-06-07

Changes

  • Added an ability to run migrations using SharePoint-only App ID and App Secret. Use the config\migrator-config.json file to do it:
{
    "source-site-url": "",
    "target-site-url": "",
    "source-site-app-id":"",
    "source-site-app-secret":"",
    "target-site-app-id":"",
    "target-site-app-secret":""
}

Known issues

  • If the source and the target sites were created using different languages, then the app migrator will fail with the Access is denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) error.
  • Migrated lists with custom content types end up with an extra content type that should be deleted manually after migration.
  • Migrated lists might need fields added to the content type or a form. In some cases, migrated lists show only the Title in the edit form.

3.8.6 Version - 2023-05-10

Changes

  • Fixed the issue related to the Trace log causing the migratory to fail.

3.8.5 Version - 2023-02-20

Changes

  • Users connected to the source and target sites are now displayed in the console for easier troubleshooting.

3.8.4 Version - 2023-02-03

Changes

  • Fixed the issue caused by lists having multiple personal views.

3.8.3 Version - 2022-09-30

Changes

  • Added a check for the E_ACCESSDENIED error.

Known issues

  • If the source and the target sites were created using different languages, then the app migrator will fail with the Access is denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) error.
  • Migrated lists with custom content types end up with an extra content type that should be deleted manually, after migration.
  • Migrated lists might need fields to be added to the content type or a form. In some cases, migrated lists show only Title in the edit form.

3.8.2 Version - 2022-09-28

Changes

  • Added a check of the source and target site permissions. If the user does not have the required permissions, the app migrator will stop and display an error message.

Known issues

  • Occasional error: Access is denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). This error typically has nothing to do with permissions. It is hard to diagnose, but one of the fixes is to delete a target site and rerun the app migrator.
  • Migrated lists with custom content types end up with extra content types that should be deleted manually, after migration.
  • Migrated lists might need fields to be added to the content type or a form.

3.8.1 Version - 2022-09-04

Bug fixes

  • Fixed an issue with lists not being migrated

Known issues

  • Migrated lists with custom content types end up with extra content types that should be deleted manually.
  • Migrated lists might need fields to be added to the content type or a form.

3.8 Version - 2022-09-04

New features

  • Added ability to Clear Credentials cache (helpful when your credentials pop-up opens and closes automatically, without prompting you to enter your credentials)

Bug fixes

  • Fixed an issue with migrating between non-English SharePoint sites.

Known issues

  • Migrated lists with custom content types end up with extra content types that should be deleted manually.
  • Migrated lists might need fields to be added to the content type or a form.

3.7 Version - 2022-09-01

New features

  • SharePoint list forms customized with Power Apps are now migrated by this tool. Credits to kvadratnymedved and amariak for providing a solution. πŸ™

Known issues

  • Migrated lists with custom content types end up with extra content types that should be deleted manually.
  • Migrated lists might need fields to be added to the content type or a form.
  • Flow & Apps Migrator might cache your user credentials and not prompt you for them again. In this case, you will need to follow the steps described in this issue

3.6 Version

New features

  • Added an ability to migrate flows that refer to the List and Library views. This was done to address the issue List Views not Migrated submitted by Juistin

Known issues

  • SharePoint list forms customized with Power Apps are no longer migrated by this tool. There is an issue I am still working on.

3.5 Version

New features

  • Added an ability to migrate content types and columns. These will be automatically migrated if your lists have any custom content types.

Known issues

  • SharePoint list forms customized with Power Apps are no longer migrated by this tool. There is an issue I am still working on.

3.4 Version

  • Fixed a major bug preventing export-importing for the lists and libraries.

3.3 Version

  • Made console output more clear.

3.1 Version

  • Fixed a bug that corrupted solution zip files during the conversion process. It made it impossible to import solutions.

3.0 Version - Major update

New features added:

  • Migrate-Packages.bat script now migrates SharePoint lists and libraries that your Apps and Flow depend on.
  • Added Prepare-Deployment-Package-for-Client.bat script to prepare a deployment package to share with your Clients or Partners. Running this script will generate a package directory you can send to your Clients and Partners. Distribution of your apps and flows is now easier than ever.

2.1 Version

New feature added:

  • added support for solution migration. Thanks to Mark Doria for helping with this feature.

Support this project

I like coffee and consume lots of it while coding. If you want to support me, you can click on the "buy me a coffee" button:


Buy Me A Coffee

flowpowerappsmigrator's People

Contributors

spg-iwilson avatar zerg00s avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flowpowerappsmigrator's Issues

Migrated Power Apps List Forms

Short explanation

  • Around February/March, 2022, Migrated Power App forms stopped working. After a migrated App is imported to the new tenant, it does not appear in a SharePoint List form.

From my research, I've noticed that an imported Power App does not trigger several SharePoint-specific artifacts to be created.

Getting an issue at the last step. Help!

This is the command window output.
image

Text of the error:
Converting SiteUrl ...Done.
ForEach-Object : The term 'resources[$i].newId' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Error when generating initial mapping

I'm receiving the following error when running the migrator:

ForEach-Object : You cannot call a method on a null-valued expression.
At C:\Users\steven.messier\Downloads\FlowPowerAppsMigrator\GenerateInitialMapping.ps1:16 char:10

  • $lists | ForEach-Object {
  •      ~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [ForEach-Object], RuntimeException
    • FullyQualifiedErrorId : InvokeMethodOnNull,Microsoft.PowerShell.Commands.ForEachObjectCommand

I've looked at the PowerShell script and I can't tell what null value it's referencing. I've verified the URLs for the target and source are correct.

RunAllScripts.ps1 is not digitally signed

Hello,
thanks for such amazing tool.
there is SecurityEroor then I run Migrate-Packages.bat : RunAllScripts.ps1 is not digitally signed. You cannot run this script on the current system.
I have run directly .\RunAllScripts.ps1 with Bypass : Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Next Error was that Path is initiated in bat file and after change first lines in RunAllScripts.ps1 to $Path = /...... /myactualpathtofolder/ its works.
is there way to add Bypass directly in bat file?

Best Regards,
Keti

Migrate customized list form from one site to another site in same tenant

Hi Denis,

is your tool supporting customized list forms, too?

I used PnP Provisionig Engine to create the same list at another site. I customized the list form in the source, exported the package and used your tool to update the json files. Then I imported the zip package (create as new and updated the ressource name) in my tenant getting the error "An App already exists for this list. Remove the existing App before adding a new one."

I checked the json file inside the zip package and the guid of the source list has been updated by the guid of the destination list.

If I perform this process again I am getting the error: "You have already created an application with this name. Please specify a different name. "

But where is this application? The form is not bound to the destination list neither listed under Apps.

Do you have any ideas?

[Error] Invalid field name.

Hi
I am testing your solution when trying to migrate a list with Power Apps customized form.
I want to move it from tenant A to tenant B.
I have manually created the list in both tenants.
It is a simple list with 4 columns "Title", "Description" (multifield), "Status" (choice field) and "Manager" (person field).

But I get the error message as seen below.
[Error] Invalid field name. {2b67bcd7-14d4-4c13-85dd-605eb8109b5e} https://xxx.shareoint.com/sites/TESTplanering

RessourceMapping issue

Hi,

Maybe I'm wrong but seems in the script RunAllScripts, the line 65 must be after the import of the selected lists.
Is it correct ?

Best wishes for 2022

Cannot migrate in one site

Hi !
I faced with error while trying to move form from one list to another into one site
error.

Is it possible for Migrator or it works just for different sites?

List Content

When it copies the list, should it also copay the content? If not, can that option be added?

Trouble Migrating between Two Different Tenant Sites

Hello @Zerg00s

I'm having this issue where i'm trying to migrate some lists between two different organizations, the source site is our own organization Tenant and the target site is the client's Tenant, I have the TotalControl-Permission Level Credentials in both Tenants, but I can't login in the target site, The migrator tries to login with my source site credentials on the target site, and when i use the clear login cache option pops an error saying that my user does not have required permissions.

The first error is the next one (without using the ClearCacheOption):

image

Obs: I have the MFA with the Authenticator App in my source site credential and im using the current version of the Migrator (V.3.8.4).

Really hope I can get some help in this, is really important for finishing our project.

MFA Update - number matching

Has anyone tried to migrate an app after the recent MFA update?

The login itself seen successful, but I'm told I don't have the right permissions. (I have migrated this app about 2 months ago successfully).

[Attention] Look for a login popup in a separate window. Please, log in to the source site site https://###.sharepoint.com/sites/###
[Error] make sure you have FULL CONTROL at the source site: https://###.sharepoint.com/sites/###
If you already have enough permissions, try running the script with CLEAR_CREDENTIALS_CACHE set to True
Get-PnPList : The remote server returned an error: (403) Forbidden.
At C:\Users\arascanu\Downloads\FlowPowerAppsMigrator-master\FlowPowerAppsMigrator-master\GenerateInitialMapping.ps1:20
char:14

  • $lists = Get-PnPList -Includes Views, Fields, DefaultView
    
  •          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Get-PnPList], WebException
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Lists.GetList

Fails to verify target URL

I'm trying to migrate a Power App customized list between two SharePoint online tenants. It connects to the source and exports the templates. However when it tries to connect to the destination tenant, the Invoke-PnPSPRestMethod on line 90 in RunAllScripts.ps fails with the following error

Invoke-PnPSPRestMethod : Object reference not set to an instance of an object.
At C:\Users...\source\FlowPowerAppsMigrator\RunAllScripts.ps1:90 char:13
+ $Response = Invoke-PnPSPRestMethod -Url "$TARGET_SITE_URL/_api/web/cu ...
+ CategoryInfo : WriteError: (:) [Invoke-PnPSPRestMethod], NullReferenceException
+ FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Admin.InvokeSPRestMethod

I have commented out line 90 and the script was able to continue.
I am running Windows PowerShell in Administrator mode.
MFA is disabled on the destination tenant.
I get the same error if I try calling Invoke-PnPSPRestMethod directly

Copy PowerApps Form to mutiple lists

I have a powerapps form developed in a document library that helps to work with metadata of the library. Now I want to copy that PowerApps form and copy it across multiple libraries in the same site. Your solution looks like it will only work if the destination lists are in a different site (so the lists name are same even when they are coped across?), am I right? If this solution only work for lists/library that exist in different site, please let me know.

Nevertheless, I tried to run the "Migrate-Packages" batch file and I get an error
"The term '.\RunAllScripts.ps1' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."

Can you please help me? Much appreciated.

Apply-PnPProvisioningTemplate : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Hi @Zerg00s,
While Importing existing list & libraries in target sit gives an error.

image

[Attention] Look for a login popup in a separate window. Please, log in to the source site site https://04xd3.sharepoint.com/sites/Federal Connected to the source site Site: https://04xd3.sharepoint.com/sites/Federal
User: Firdos Shaikh ([email protected])
Mapping file resourceMapping.csv is generated
C:\Users\YusufShaikh\Downloads\FlowPowerAppsMigrator
Exporting lists and libraries...
[Attention] Look for a login popup in a separate window. Please, log in to the target site https://t1jtk.sharepoint.com/sites/Federal.

Connected to the target site
Site: https://t1jtk.sharepoint.com/sites/Federal
User: Harsh Markad ([email protected])
Applying PnP Template to https://t1jtk.sharepoint.com/sites/Federal
C:\Users\YusufShaikh\Downloads\FlowPowerAppsMigrator
Importing lists and libraries...
[Error] Make sure that both target site and the source sites created with the same language. Cross-language list migration is not supported.
Apply-PnPProvisioningTemplate : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At C:\Users\YusufShaikh\Downloads\FlowPowerAppsMigrator\MISC\Move-Lists.ps1:124 char:9

  •     Apply-PnPProvisioningTemplate -Path Lists.xml
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerUnauthorizedAccessException
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate
      Press any key to continue . . .

But i have created one new list in same source site & import to same target site its exported successfully.

Content Type Not copied

Hi

When we execute the 'RunAllScripts.ps1. file, and mention the source & destination lists, the program doesn't copy the content type associated with the source list across to the destination list.

Can you please advise if this feature is not included in the migrator?

Thanks a lot!

Error when running Migrate-Packages.bat

This is the first time i am trying this tool. As soon as i run the bat file I get this error.

Get-FormItemProperties : The term 'Get-FormItemProperties' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.

[Error] The field was found invalid: Apply-PnPProvisioningTemplate : The field was found invalid:

Apply-PnPProvisioningTemplate : The field was found invalid:
At C:\Users\Downloads\FlowPowerAppsMigrator\MISC\Move-Lists.ps1:124 char:9

  •     Apply-PnPProvisioningTemplate -Path Lists.xml
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Apply-PnPProvisioningTemplate], Exception
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate

Unable to login - Forbidden

I am a site collection admin on both sites and also a global admin on the tenant. This worked on the earlier version, but after the upgrade I did today, it hasn't worked. I got colleague of mine to log in with his user (FlowPowerAppsMigrator workes on his pc), but he got the same error. Any suggestions?
Error

Transfering to a list with a different name

I got a list with a powerapp form that is named "Requests (Client name)". I'd like to copy the form to another site meant for another client, execpt the list is called "Requests (Other client Name)". How can I do this?

I already know I need to deactivate migrating the lists, and that it does works if you rename the list as "Requests (Client name)" and back, but is there an easier way?

Migrate solution only without artifacts for incremental deployment

This could be feature more than issue. I have below scenario

I used this tool and successfully moved solution from one tenant to another. Worked great.

I have small change in source power automate. I made that change. Next time i ran the tool, I did not want to migrate Sharepoint artifacts (since there is no change and it takes too much time). So , I did not select any list from popup and clicked ok. I expected, just new solution to be created without artifacts. However, i received below error.

On side note, thanks a lot for creating this. Makes life so much easier!!!

image

Move-Lists.ps1 : You cannot call a method on a null-valued expression.

When exporting lists following exception occurs:
Exporting lists and libraries...
Hidden fields count:
.......\FlowPowerAppsMigrator\MISC\Move-Lists.ps1 : You cannot call a method on a null-valued
expression.
At C:\Users\stefa\Downloads\FlowPowerAppsMigrator\RunAllScripts.ps1:98 char:5

  • . .\MISC\Move-Lists.ps1 -Path $Path -MigrationType Export -Source ...
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [Move-Lists.ps1], RuntimeException
    • FullyQualifiedErrorId : InvokeMethodOnNull,Move-Lists.ps1

newId cannot be found

I have used this a couple time with no issues but now I am trying to convert a flow the source and the Destination are in the same domain but different sites which has worked before and I am getting the following error. I have done this same thing with others without this being an issue. Just not sure what is different in this case. Any help or suggestions I would be very grateful.
Thank you

ForEach-Object : The property 'newId' cannot be found on this object. Verify that the property exists and can be set.
At C:\Users\Public\Utilities\FlowConverter383\CompleteResourceMapping.ps1:19 char:10

  • $lists | ForEach-Object {
  •      ~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [ForEach-Object], RuntimeException
    • FullyQualifiedErrorId : PropertyAssignmentException,Microsoft.PowerShell.Commands.ForEachObjectCommand

Value does not fall within the expected range

Hi Zerg00s,

I'm migrating a Power Apps solution and one site and 1 list. I see this error:

Importing lists and libraries...
[Error] Value does not fall within the expected range.
Apply-PnPProvisioningTemplate : Value does not fall within the expected range.
At C:\Users\ThomasMichelsen\Downloads\FlowPowerAppsMigrator-master\FlowPowerAppsMigrator-master\MISC\Move-Lists.ps1:124 char:9
+         Apply-PnPProvisioningTemplate -Path Lists.xml
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerException
    + FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate

NB: If I exclude the site and list, I get this warning: "LΓΈsningen "Tencate Ordering System" blev importeret med advarsler: Translated labels for the following languages could not be imported because they have not been enabled for this organization: 1033". Is that because I have different languages in the two Sharepoint environments?

Best regards,
Thomas

Error Message after converting SiteUrl

The following error message is displayed during a conversion:

Enter the URL of the original (old) SharePoint site: [OLD_SITE_URL]
WARNING: A newer version of PnP PowerShell is available: 3.23.2007.1. Consider upgrading.
resourceMapping.csv generated
Enter the URL of the destination SharePoint site: [NEW_SITE_URL]
resourceMapping.csv fully complete
Converting SiteUrl ...Done.
ForEach-Object : The term 'resources[$i].newId' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Development\Microsoft\FlowPowerAppsMigrator-master-mfa\ConvertPackage.ps1:20 char:14

  • $files | ForEach-Object {
    
  •          ~~~~~~~~~~~~~~~~
    
    • CategoryInfo : ObjectNotFound: (resources[$i].newId:String) [ForEach-Object], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.ForEachObjectCommand

I'm using MFA, so to get to this point I had to add -UseWebLogin after the site URL in your PowerShell scripts. I'm not sure if this has a knock on effect or it's something else?

I'am using the following versions:

Microsoft.Online.SharePoint.PowerShell 16.0.9021.0
SharePointPnPPowerShellOnline 3.23.2007.1
SharePointPnPPowerShellOnline 3.12.1908.1
SharePointPnPPowerShellOnline 3.6.1902.2

Your help would be much appreciated.

Regards

Rob

List Views Not Migrated

When SharePoint connectors are used in PowerAutomate, your tool does a great job of updating all the LIST Guids, but if the option "Limit Columns by View" is selected and a view is chosen, even if that view exists with the same name at the destination, the tool does not update those, we have to manually go in and fix these..
WorkflowMigrationToolIssue1
.

Add a warning if the src folder is empty

When running migrations, App & Flow Migrator will not warn users if they forgot to add .ZIP files to the src folder. There must be some a check implemented. For example, we need to show a warning and then check if the ZIP files were inclded.

migrate to a subsite on the existing site

Is it possible to migrate to a subsite on the existing site?

It didn't seem to work when I attempted. There was a warning message during the Migrate-Packages that said "template contains fields and you are provisioning to a subweb. If you still want to provision these fields, set the ProvisionFieldsToSubWebs property to true."

Thank you.

Attempted to perform an unauthorized operation

Hi @Zerg00s,

I'm facing some issues while migrating from one site to another. During testing, I've encountered errors related to connectivity and permissions.

When trying to migrate a list from the source site, I encountered this error:
Capture

Another issue I'm having is that the login popup for the target site permission isn't opening. It appears to automatically log in with the source login information, and I'm not able to see the target login popup.

Lastly, when setting Clear Credentials to True, two login popups appear. After logging in to one of them, the other one closes automatically and I receive this error:
Capture

Any help in resolving these issues would be greatly appreciated. Thanks!

[ERROR] The formula contains a syntax error or is not supported.

Didn't see this issue posted so thought I'd share my experience and workaround. I encountered this error attempting to migrate a list containing calculated list columns:

[Error] The formula contains a syntax error or is not supported.
Apply-PnPProvisioningTemplate : The formula contains a syntax error or is not supported.
At C:\.....\Move-Lists.ps1:124 char:9
+         Apply-PnPProvisioningTemplate -Path Lists.xml
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerException
    + FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate

Since it choked in the middle of list provisioning, I looked at the migrated list and saw only a portion of the expected fields were provisioned just shy of where the first calculated field should have been created. I looked at the Calculated field types with Formulas in the Lists.xml and noted that fields were being referenced as such : [{fieldtitle:InternalName}]

Did some digging and found similar issues reported with Apply-PnPProvisioningTemplate such as this post suggesting that a difference between how the field is defined vs what PnP provisioning expects and suggested changing [{fieldtitle:InternalName}] to just [DisplayName] as workaround.

As such I reran the migration, this time using the Prepare-Deployment-Package-For-Client script vs RunAllScripts so I can edit the Lists.xml before continuing on. Made the changes in the package and continued with running Convert-packages.bat and it successfully completed. Confirmed the target list looked good then finished off by importing my power apps form.

Issue first logging in

First time attempting using this so I may be doing something wrong but I can get passed this error after signing into both tenants.
Get-PnPList : The remote server returned an error: (403) Forbidden.
At C:\Temp\Flow Power App Migrator\GenerateInitialMapping.ps1:21 char:10

  • $lists = Get-PnPList -Includes Views, Fields, DefaultView
  •      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Get-PnPList], WebException
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Lists.GetList

SharePoint list not copying

I'm running the current version. I have a SharePoint list form customized with PA. I tick the list, but in the target site nothing changes. I've tried several times, starting with different situations in the target site, i.e.
-- The list exists with an old version of the form
-- the list exists with the SharePoint native form, no PowerApps
-- the list exists with no columns and no form
In all the above cases, the list remains exactly the same after running the code. Watching the PowerShell window, I see the following prompts
-- Extracting Template from https://something.com/sites/MySourceSite
--Applying template to https://something.com/sites/MySourceSite

It looks to me as if the template is extracted from the source site, but it is then not applied to the target site, but back to the source site. Can you check that?

Unable to login

Login dialogs do not pop up, immediate error. Source and destination require MFA. For some reason I'm unable to use -Interactive on the Connect-PNPOnline. I receive the error: A parameter cannot be found that matches parameter
name 'Interactive'. This does not occur when connecting from within PowerShell. All other methods show 403 forbidden

[Error] List not found when using canvas app

I was wondering if anyone has had this issue:

The tool ran with no issues, and I could import the converted package into my target tenant. Still, when testing the app, in the gallery where I display the sharepoint data, I received an error stating the list ID was not recognized, meaning the app was connecting to the list properly. This is interesting because I was authenticated correctly with the target tenant and also, when I click on edit data source it correctly re-directs me to the correct sharepoint list in question.

Is there any artifacts from the source tenant that can linger within the .maspp file that could cause this error? Because the JSON files within the zip file all correctly map to the target tenant.

Also, I want to point out that during the import phase the second part of the import when you select the account to use for the connections required for the powerapp, there were NO connections listed. I believe this might be something related.

image

Error Applying PnPProvisioningTemplate

The app was created/attached right from the list. So I am not sure if that is the issue.

Apply-PnPProvisioningTemplate : Object reference not set to an instance of an object on server. The object is
associated with method GetList.
At C:\Users\Mark\Downloads\FlowPowerAppsMigrator-master\FlowPowerAppsMigrator-master\MISC\Move-Lists.ps1:78 char:5

  • Apply-PnPProvisioningTemplate -Path Lists.xml
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerObjectNullReferenceException
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate

Trailing forward slash

When running the script using a forward slash (/) at the end of the Source and Destination URL the replace doesn't work because the export files don't have trailing slashes. Maybe it would be good to make this clear on the instructions or remove the trailing slash automatically.

I'm facing this error while Exporting lists and libraries

Get-pnpProvisioningTemplate : {"odata.error":{"code":"-2147024891,
System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Attempted to perform an unauthorized
operation."}}}
At E:\ABG\FlowPowerAppsMigrator\MISC\Move-Lists.ps1:61 char:9

  •     Get-pnpProvisioningTemplate -ListsToExtract $titles -Out "Lis ...
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (:) [Get-PnPProvisioningTemplate], Exception
    • FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.GetProvisioningTemplate

Add support for Solution packages

Individual FLows and Power Apps can be converted just fine, however, Solution Package conversion is not yet supported.
Need to update the code to support packages as well.

Error when trying to run the migrator

I logged on the mfa with wrong credentials one time and now the login window will not show again. What can I do to make the old credentials not to be remembered?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.