Neulich erwartete mich eine kleine Überraschung und damit verbundene Herausforderung: Eine künftig unternehmensweit genutzte SharePoint Liste, wurde in einer eingeschränkten Team Site erstellt und das Eingabeformular mithilfe Power Apps angepasst. Ich wurde damit betraut, die komplette Liste inklusive der Power App Form an eine geeignetere Stelle im Intranet zu migrieren bzw. zu exportieren.
Vielleicht ist dem ein oder anderen ja bereits bekannt, dass in Power Apps lediglich die Standalone-Apps gelistet sind und folglich für einen Export zur Verfügung stehen. Die mithilfe von Power Apps angepassten SharePoint Formulare sind zwar im Grunde Canvas Apps, werden aber nicht zentral aufgeführt. Okay, wie ich an die versteckte App oder „SharePoint Form App“ gelange, war mir bekannt, also wechselte ich in die betreffende Liste und ging in deren Einstellungen, während ich mich fragte, wie ein Admin einen Überblick über alle customized Forms im Unternehmen bekommen würde – aber dazu später mehr 😉.
Nun wechsle ich also in meine Formulareinstellungen und wähle „Versionen und Verwendung“:
Und siehe da, ich werde auf die Power App Seite weitergeleitet und habe die Exportfunktion zur Verfügung.
So far, so good.
Nun habe ich also meine ZIP-Datei erfolgreich gespeichert. Was nun? Beim Import kann ich keine SharePoint Liste oder Bibliothek auswählen, lediglich bestehende Power Apps (Standalone) können ausgewählt und aktualisiert werden.
Wie bekomme ich die Form App also an meine SharePoint Liste? Ich sehe mir also die ZIP-Datei genauer an und finde verschiedene Dateien, die interessant sein könnten. Da ich aus Zeitgründen ungern in die tiefen der JSON-Files eintauchen möchte, frage ich lieber unseren Freund Google nach einem gängigen Workaround und finde auf mehreren Seiten einen Konsens. Diesen hier finde ich besonders gut – schick mit Video und bebildert 😉 – und würde die Schritte daher an dieser Stelle nicht extra wiederholen: Importing PowerApps package as a SharePoint list form • Tomasz Poszytek, Business Applications MVP.
Entsprechend der Beschreibung mache ich mich ans Werk und erhalte einen Fehler, den ich nicht durch Google adäquat beantwortet bekomme: „Unable to find the default new form for list <name>“ oder in Deutsch „Das neue Standardformular für die Liste <name> konnte nicht gefunden werden“.
Was ist passiert? Ich wiederhole den Vorgang, um auszuschließen, dass ich einen Fehler beim Anpassen des JSON gemacht habe und laufe prompt in den nächsten „Fehler“, denn SharePoint Form Apps können nicht beim Importieren aktualisiert werden. Also wechsle ich zurück in die Formulareinstellungen der Liste, stelle auf das Standardformular zurück und lösche meine Power App Form:
Mein zweiter Versuch scheiterte ebenfalls. Nach mehrfachem Herumprobieren und Analyse – natürlich in meiner Testumgebung 😉 – fand ich das Problem: Die SharePoint Liste selbst! Es handelte sich hierbei um eine durch ShareGate migrierte bzw. kopierte Liste, deren Verweise anscheinend Probleme in Kombination mit angepassten Forms verursacht. Ob dies auch bei anderen Migrationstools passiert, konnte ich nicht evaluieren. Aber um Euch derartigen Spaß zu ersparen, rate ich daher dazu, die Liste immer sauber neu zu erstellen. Solltet ihr im gleichen Tenant/ Umgebung unterwegs sein, könnt ihr bequem eure existierende Liste als Vorlage wählen:
Alternativ könnt ihr bei komplexen Listen aus Testumgebungen auch eine leere Liste erstellen und dann den Inhaltstyp hinzufügen. Dadurch erbt ihr ebenfalls alle Spalten und müsst diese nicht neu erstellen.
Wenn ihr Spalten umbenannt habt oder sich diese von dem Inhaltstyp an der Liste unterscheiden, könntet ihr Fehler in der Power App angezeigt bekommen. Ich empfehle euch daher immer die Datenquelle nach dem Austauschen zusätzlich zu aktualisieren und alle Screens sicherheitshalber noch einmal durchzusehen.
Ihr solltet den Anweisungen in dem o.g. Video unbedingt genau folgen und keine Experimente mit dem JSON File durchführen, denn….
Nice to know
Trotz des Löschens der fehlerhaften Forms und auch nach dem Löschen der ganzen ShareGate migrierten Liste, blieben die Namen meiner SharePoint Form Apps von dem Importversuchen als besetzt bzw. existierend in Power Apps zurück. Ich habe sozusagen Datenleichen produziert! Diese wieder herauszubekommen war auch noch einmal zeitraubend, da meine App nicht im Power Apps Admin Center angezeigt wurde, wie in diesem Microsoft Artikel beschrieben. Ich würde generell behaupten, dass die wenigsten App Maker derart hohe Privilegien haben. Aber selbst wenn, wäre ohne die Detailansicht nicht erkennbar welche Apps vom Typ SharePoint Form sind und ihr könnt diese nicht über die UI löschen und nur bedingt verwalten. Daher nehmt einfach direkt die PowerShell. Dazu benötigt ihr zunächst zwei Power Apps Module. Im Anschluss könnt ihr euch Authentifizieren und eine komplette Liste ausgeben lassen:
Etwas schade daran ist, dass die Liste zwar gefiltert werden kann (z.B. einfach *<Filterbegriff>* hinter den Befehl setzen) und bereits Details mit ausgegeben wird, aber der App-Type in den Eigenschaften fehlt und somit nicht den Typ SharePoint Form eingeschränkt werden kann. Daher an dieser Stelle auch nochmal eine Empfehlung: Schaut euch den Set-AdminPowerAppSharepointFormEnvironment an und kapselt dadurch eure Forms. Dann müsst ihr nicht alle Apps einzeln durchschauen oder im Power Apps Admin Center anklicken.
Einen ebenfalls interessanten Artikel findet ihr hier: sharepoint online – Customized Power Apps List Form: Where is the App Stored? – SharePoint Stack Exchange. Er enthält noch ein paar Hinweise und macht deutlich, dass mit entsprechenden Privilegien auch ohne SharePoint-Zugriff die Form über Power App aufgerufen und angepasst werden kann. Umso wichtiger, mit unterschiedlichen Environments zu arbeiten.
Views: 888