Repo jest przeznaczone jako zbiór materiałów pomocniczych do warsztatów wewnętrznych dotyczących power-platform Skrypty z tego repo były testowane w środowisku Windows 11. Jest szansa, że będą działać na maszynach z innymi systemami ze względu na zgodność Az Cli.
- podstawy zarządzania środowiskami z PPAC: https://admin.powerplatform.microsoft.com/
- zarządzanie zawartością środowiska PP z konsoli ze spryptów Power-Shell
- dokumentacja dewelopera Power Platform: https://learn.microsoft.com/en-us/power-platform/developer/
- Power Platform Cli: https://learn.microsoft.com/en-us/power-platform/developer/cli/introduction?tabs=windows
- podstawy programowania komponentów Power Platform
- wersjonowanie kodu rozwiązania Power Platform
- Visual Studio Code
- Microsoft Power Platform Cli
- Power Shell Extension to VSC (od Microsoftu)
- zezwolić na wykonywanie skryptów powershell na masznie, gdzie pracujesz
- Pobierz niniejsze repo i otwórz je w Visual Studio Code
- Zezwól na wykonywanie skryptów powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force
- Do VSC zainstaluj dodatek Power Platform Tools (od Microsoftu)
- sprawdź, że z Power Shella masz dostępne narzędzia do administracji Power Platform (PAC). Wykonaj poniższe polecenie z terminala powershell:
Get-Command pac | Format-List
- podłącz się do tenanta, w którym masz środowisko z Power Platform używając polecenia
pac auth create
.- refs: https://learn.microsoft.com/en-us/power-platform/developer/cli/reference/auth#pac-auth-create
- uruchom
cd .\scripts</code>
.\pac_auth_create.ps1 - (opcjonalnie) gdy piszemy z konsoli, to miło gdy po naciśnięciu tab terminal próbuje wykonać autocompletion. Do autocompletion terminala dodajemy opcje dostarczane przez pakiet pac. Aby to zrobić uruchom skrypt:
.\pac_auto_complete.ps1
- zobacz listę środowisk, do których masz dostęp w tenancie, do którego jesteś podłączony:
pac env list
. Jesteś podłączony do tego z gwiazdką - podłącz się do środowiska, w którym chcesz pracować. Możesz to zrobić z dodatku Power Platform, albo z linii poleceń:
np.pac env select --environment xat-rdu-lab
Podczas warsztatów pracujemy z labami dostarczonymi przez Microsoft, w repo https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer. Sklonuj to repo do swojego folderu, proponuję użyć krótkiej ścieżki, np. aby sklonować do C:\GitHub. Poniższe polecenie wykonuje klon repozytorium do folderu C:\GitHub\PL-400:
git clone https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer.git C:\GitHub\PL-400
Objective: tworzenie rozwiązania (solution) w DataVerse. Ref: https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer/blob/master/Instructions/Demos/DEMO%5BPL-400%5D_Demo02_Solution.md
Objective: Tworzenie tabel Ref: https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer/blob/master/Instructions/Demos/DEMO%5BPL-400%5D_Demo03_Tables.md
Jeśli chcesz mieć w swoim środowisku stan rozwiązania jaki wynika z powyższych demonstancji, to zaimportuj do swojego środowiska (może być tego z suffixem _lab) rozwiązanie: PL400Demos_1_0_3_0.zip. Uruchom poniższe:
- sprawdź, że jesteś podłączony z terminala do właściwego środowiska
pac auth list
W kolumnie Environment powinno pokazać się środowisko xat-[XYZ]-lab, gdzie [XYZ] to Twoje inicjały
Jeśli chcesz odświeżyć / wylistować listę środowisk, do których masz dostęp:
pac env list
Jeśli jest inne, to wykonaj:
pac env select --environment xat-[XYZ]-lab
- zaimportuj rozwiązanie
pac solution import --path "C:\GitHub\PL-400\Allfiles\Demos\PL400Demos_1_0_3_0.zip" --activate-plugins true --publish-changes true --async true
- zaloguj się do https://make.powerapps.com i zweryfikuj wynik importu
- Zwrócić uwagę na kolumny systemowe (data czas utworzenia, modyfikacji, owner, stan rekordu, nr wersji rekordu itd.)
- informacja dodatkowa: rozwiązanie możesz importować/eksportować także z UI make.powerapps
Uwaga: Zauważyć, że formularz w DV jest częścią tabeli, (a nie osobnym obiektem, jak w AX). Każda tabela ma kilka domyślnych formularzy (np. główny, Card - karta informacyjna, quick view)
Demo 04 bazuje na Demo 03. Jako starter należy zaimportować demo 03 do środowiska xat-rdu-dev:
pac env select --environment xat-rdu-dev pac solution import --path "C:\GitHub\PL-400\Allfiles\Demos\PL400Demos_1_0_3_0.zip" --activate-plugins true --publish-changes true --async true
Objective: Tworzenie kolumn
Wykonać kroki dema: Ref: https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer/blob/master/Instructions/Demos/DEMO%5BPL-400%5D_Demo04_Columns.md
Demo 05 bazuje na Demo 04. Jako starter należy zaimportować demo 04 do środowiska xat-rdu-dev:
pac env select --environment xat-rdu-dev pac solution import --path "C:\GitHub\PL-400\Allfiles\Demos\PL400Demos_1_0_4_0.zip" --activate-plugins true --publish-changes true --async true
Objective: Tworzenie relacji pomiędzy tabelami
Wykonać kroki dema: Ref: https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer/blob/master/Instructions/Demos/DEMO%5BPL-400%5D_Demo05_Relationships.md
Demo 06 bazuje na Demo 05. Jako starter należy zaimportować demo 05 do środowiska xat-rdu-dev:
W materiałach standardowych jest literówka, aby import poniższego kodu się powiódł, relacja ma się nazywać dem_pet_petrrick a nie dem_pet_pettrick. Przed importem najlepiej usunąć relację...
pac env select --environment xat-rdu-dev pac solution import --path "C:\GitHub\PL-400\Allfiles\Demos\PL400Demos_1_0_5_0.zip" --activate-plugins true --publish-changes true --async true
Objective: Tworzenie reguł biznesowych
Wykonać kroki dema: Ref: https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer/blob/master/Instructions/Demos/DEMO%5BPL-400%5D_Demo06_Buinessrule.md
Uwaga
Business rules to technicznie workflowy identyfikowanie po guidzie. Dlatego import poniższego stworzy workflow (business rule) o tej samej nazwie (ale innym guid). Dlatego przed importem modelowego należy usunąć ten utworzony. (UID można znaleźć z UI > Advanced > See Solution Layers)
Aby zaimportować modelową implementację:
pac env select --environment xat-rdu-dev pac solution import --path "C:\GitHub\PL-400\Allfiles\Demos\PL400Demos_1_0_6_0.zip" --activate-plugins true --publish-changes true --async true
*** After demo 06 participants should practice Lab 01
Właściwy początek jest od Task 1.2 - create solution and publisher
W starter są dwa pliki:
- efekt labów 1 i 2 - Labs\L01\Starter\PermitManagement_Starter.zip
pac env select --environment xat-rdu-lab pac solution import --path "C:\GitHub\PL-400\Allfiles\Labs\L01\Starter\PermitManagement_Starter.zip" --activate-plugins true --publish-changes true --async true
- efekt labów 1, 2, 3 - Labs\L01\Starter\PermitManagement_Starter_with_CanvasApp.zip
pac env select --environment xat-rdu-lab pac solution import --path "C:\GitHub\PL-400\Allfiles\Labs\L01\Starter\PermitManagement_Starter_with_CanvasApp.zip" --activate-plugins true --publish-changes true --async true
TBC