-
3 Days
- Sep 4 - Sep 6, 2023Online
- Oct 2 - Oct 4, 2023Online
- Oct 30 - Nov 1, 2023Online
- Nov 27 - Nov 29, 2023Online
- Dec 25 - Dec 27, 2023Online
- Jan 22 - Jan 24, 2024Online
- Sep 4 - Sep 6, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
5 Days
- Apr 10 - Apr 14, 2023Online
- May 8 - May 12, 2023Online
- Jun 5 - Jun 9, 2023Online
- Jul 3 - Jul 7, 2023Online
- Jul 31 - Aug 4, 2023Online
- Aug 28 - Sep 1, 2023Online
- Apr 10 - Apr 14, 2023Online
-
1 Days
- Apr 10 2023Online
- May 8 2023Online
- Jun 5 2023Online
- Jul 3 2023Online
- Jul 31 2023Online
- Aug 28 2023Online
- Apr 10 2023Online
-
3 Days
- Apr 10 - Apr 12, 2023Online
- May 8 - May 10, 2023Online
- Jun 5 - Jun 7, 2023Online
- Jul 3 - Jul 5, 2023Online
- Jul 31 - Aug 2, 2023Online
- Aug 28 - Aug 30, 2023Online
- Apr 10 - Apr 12, 2023Online
-
2 Days
- Apr 10 - Apr 11, 2023Online
- May 8 - May 9, 2023Online
- Jun 5 - Jun 6, 2023Online
- Jul 3 - Jul 4, 2023Online
- Jul 31 - Aug 1, 2023Online
- Aug 28 - Aug 29, 2023Online
- Apr 10 - Apr 11, 2023Online
-
1 Days
- Mar 27 2023Online
- Apr 24 2023Online
- May 22 2023Online
- Jun 19 2023Online
- Jul 17 2023Online
- Aug 14 2023Online
- Mar 27 2023Online
-
4 Days
- Apr 10 - Apr 13, 2023Online
- May 8 - May 11, 2023Online
- Jun 5 - Jun 8, 2023Online
- Jul 3 - Jul 6, 2023Online
- Jul 31 - Aug 3, 2023Online
- Aug 28 - Aug 31, 2023Online
- Apr 10 - Apr 13, 2023Online
-
4 Days
- Apr 3 - Apr 6, 2023Online
- May 1 - May 4, 2023Online
- May 29 - Jun 1, 2023Online
- Jun 26 - Jun 29, 2023Online
- Jul 24 - Jul 27, 2023Online
- Aug 21 - Aug 24, 2023Online
- Apr 3 - Apr 6, 2023Online
-
3 Days
- Apr 3 - Apr 5, 2023Online
- May 1 - May 3, 2023Online
- May 29 - May 31, 2023Online
- Jun 26 - Jun 28, 2023Online
- Jul 24 - Jul 26, 2023Online
- Aug 21 - Aug 23, 2023Online
- Apr 3 - Apr 5, 2023Online
-
4 Days
- Apr 3 - Apr 6, 2023Online
- May 1 - May 4, 2023Online
- May 29 - Jun 1, 2023Online
- Jun 26 - Jun 29, 2023Online
- Jul 24 - Jul 27, 2023Online
- Aug 21 - Aug 24, 2023Online
- Apr 3 - Apr 6, 2023Online
-
4 Days
- Apr 3 - Apr 6, 2023Online
- May 1 - May 4, 2023Online
- May 29 - Jun 1, 2023Online
- Jun 26 - Jun 29, 2023Online
- Jul 24 - Jul 27, 2023Online
- Aug 21 - Aug 24, 2023Online
- Apr 3 - Apr 6, 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
2 Days
- Apr 3 - Apr 4, 2023Online
- May 1 - May 2, 2023Online
- May 29 - May 30, 2023Online
- Jun 26 - Jun 27, 2023Online
- Jul 24 - Jul 25, 2023Online
- Aug 21 - Aug 22, 2023Online
- Apr 3 - Apr 4, 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
3 Days
- Apr 3 - Apr 5, 2023Online
- May 1 - May 3, 2023Online
- May 29 - May 31, 2023Online
- Jun 26 - Jun 28, 2023Online
- Jul 24 - Jul 26, 2023Online
- Aug 21 - Aug 23, 2023Online
- Apr 3 - Apr 5, 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
1 Days
- Apr 3 2023Online
- May 1 2023Online
- May 29 2023Online
- Jun 26 2023Online
- Jul 24 2023Online
- Aug 21 2023Online
- Apr 3 2023Online
-
2 Days
- Apr 3 - Apr 4, 2023Online
- May 1 - May 2, 2023Online
- May 29 - May 30, 2023Online
- Jun 26 - Jun 27, 2023Online
- Jul 24 - Jul 25, 2023Online
- Aug 21 - Aug 22, 2023Online
- Apr 3 - Apr 4, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
-
5 Days
- Apr 3 - Apr 7, 2023Online
- May 1 - May 5, 2023Online
- May 29 - Jun 2, 2023Online
- Jun 26 - Jun 30, 2023Online
- Jul 24 - Jul 28, 2023Online
- Aug 21 - Aug 25, 2023Online
- Apr 3 - Apr 7, 2023Online
X
Contact Us
We would love to hear from you. Please complete this form to pre-book or request further information about our delivery options.

3 Days

(Online and onsite)

Price Upon Request
This course is designed for experienced IT professionals and developers, providing an insight into development techniques and approaches that can be applied to solutions built on the Microsoft Power Platform. You will learn the necessary skills to extend the features of Model-driven Apps and Canvas Apps using code, integrate with the Dataverse using the Web API, build custom controls using the Power Apps Component Framework (PCF), implementing custom business logic through Plug-Ins and Custom Workflow Activities, write client-side code that interacts with the Client Object Model, implement Custom Connectors, and learn about the Application Lifecycle Management (ALM) frameworks available to help support and maintain Power Platform implementations, including the Microsoft Power Platform Build Tools for Azure DevOps and the Power Apps Center of Excellence (CoE).
- Understand the features and tools that exist for Developers in the Microsoft Power Platform.
- Be able to extend Model-driven and Canvas Apps with code to support complex business requirements.
- Understand how to set up projects in Microsoft Visual Studio in preparation to write code, connect to and extend the Dataverse.
- Write server and client-side code to execute commands, read and write data to and from the Dataverse using the Web API.
- Download and configure developer resources and tools such as the PowerApps Component Framework (PCF), the Customer Engagement Software Development Toolkit and Visual Studio resources.
- Build custom components using the PowerApps Component Framework (PCF).
- Understand where and how to use the Power Apps Command Line Interface (CLI).
- Extend Model-driven Apps with custom business logic using Plug-In and Custom Workflow Activities.
- Build, configure and deploy Custom Connectors in the Power Apps Maker Portal.
- Embed Canvas Apps and PCF components into Model-driven Apps.
- Write JavaScript code to extend Model-driven Apps using the Client API Object Model.
- Understand the best practice methodologies when extending and writing code for Apps and solutions built on the Microsoft Power Platform.
- Understand the need for Application Lifecycle Management (ALM) through the implementation of Microsoft Power Platform Build Tools for Azure DevOps and the Power Apps Center of Excellence (CoE).
Module 1: Introduction to Power Platform Development
This module introduces the concept of extending Microsoft Power Platform using Pro Code development. You will learn about the tools and resources that are available to Pro Code Developers as well as best practice methodologies and fundamentals.
Lessons
- The Microsoft Power Platform Overview
- App Makers vs Pro Developers
- Pro Code Developer Options
- Development Tools
- The Customer Engagement Toolkit
- Environments and Solutions
- Security Considerations
- Application Lifecycle Management
- Valuable Skills
- Further reading and resources
Lab 1: Setting up you Lab Environment
- Set up a trial of the Microsoft Power Platform
- Install Sample Data
Lab 2: Developer Orientation
- Review the Developer Resources
- Review the Lab Files
- Review the Customer Engagement Toolkit
After completing this module, students will be able to:
- Describe the key features and tools available to developers in Microsoft Power Platform
- Be familiar with the developer resources and how to set up your development environment
- Understand the key skills required to develop and extend the Power Platform
- Know where to find help and further reading resources
Module 2: Working with the Dataverse using the API
This module presents the various API options that are available to developers in connect to a interact with the Dataverse programmatically. You will learn how to write server-side and client-side code to consume the API endpoints.
Lessons
- Introduction to API programming
- Authentication Considerations
- The Web API
- The Discovery Web Service
- The Organization Web Service
- Core Assemblies
- Early and Late-bound classes
- The Code Generation Tool
- Service Context
- CRUD Operations
- Using the QueryExpression Class
- Using LINQ
Lab 1: Using the Web API with Server-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using Web API Server-side code
- Connect to the Dataverse
- Test your App
Lab 2: Using the Organization service with Server-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using the Organization service
- Connect to the Dataverse
- Test your App
Lab 3: Using the Web API with Client-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using Web API Client-side code
- Connect to the Dataverse
- Test your App
After completing this module, students will be able to:
- Be familiar with the various API’s available to connect to the Dataverse
- Understand how to write server-side and client-side code to utilize the API’s
- Be able to set up Microsoft Visual Studio to start developing code against the API’s
- Know how to authenticate, connect and perform CRUD based operations programmatically against CDS.
Module 3: Developing Client-side Code
This module introduces the concepts of developing client-side code that works with the Client Object Model in Model-driven Apps. You will also learn how to create and deploy client-side components using Web Resources that use the Web API to work with data in the Dataverse.
Lessons
- Introduction to Client-side coding
- The Client-side Events
- The Client API Object Model
- Using Web resources
Lab 1: Writing a JavaScript Event Handler
- Write a JavaScript Function
- Create a JavaScript Web Resource
- Configure the Event Handler
- Test your JavaScript Code
After completing this module, students will be able to:
- Understand the concept of the Client API Object Model and client-side coding
- Know how to write client-side code to extend Model-driven Apps
- Be familiar with the concept of how to write JavaScript functions
- Deploy HTML and JavaScript Web Resources
Module 4: Developing Plug-Ins
In this module you will learn how to develop custom business logic in a Plug-In component using Microsoft .Net C# in Visual Studio. You will also learn how to deploy Plug-In components to the Dataverse using the Plug-In Registration Tool.
Lessons
- Introduction to Plug-Ins
- Writing Plug-In Code
- Using the Plug-In Registration Tool
- Debugging Plug-Ins with the Plug-In Profiler
- Deploying Plug-Ins with Solutions
Lab 1: Create and deploy a Plug-In
- Customize a Model-driven App
- Set up your Visual Studio Project
- Create a Plug-In
- Sign and Build the Assembly
- Deploy a Plug-In using the Plug-In Registration Tool
- Test your Plug-In
- Debug Plug-In code using the Plug-In Profiler Tool
After completing this module, students will be able to:
- Understand the need for custom business logic and Plug-Ins
- Know how to set up a Microsoft Visual Studio projects to start creating custom Plug-In component
- Be familiar with the process to write, deploy and test Plug-In code in Microsoft Visual Studio
- Use the Plug-In Registration Tool to deploy a Plug-In to the Dataverse
- Debug issues with Plug-In code using the Plug-In Profiler tool
- Understand how to deploy Plug-Ins to a production environment using Solutions
Module 5: Developing Custom Workflow Activities
In this module you will learn how to develop a Custom Workflow Activity using Microsoft .Net C# in Visual Studio. You will also learn how to use a Custom Workflow Activity as a Workflow Step in a Model-driven App.
Lessons
- Introduction to Custom Workflow Activities
- Writing Custom Workflow Activity code
- Deploying a Custom Workflow Activity
Lab 1: Create a Custom Workflow Activity
- Set up the Visual Studio Project
- Create a Custom Workflow Activity
- Sign and Build the Assembly
- Deploy a Custom Workflow Activity
- Create a Workflow
- Test your Custom Workflow Activity
After completing this module, students will be able to:
- Understand the need for custom Workflow Activities in the Microsoft Power Platform
- Know how to set up a Visual Studio project to start creating a custom Workflow Activity
- Be familiar with the process to create and deploy a custom Workflow Activity using the Plug-In Registration Tool
- Understand how to use a custom Workflow Activity in a Process
Module 6: Extending PowerApps
This module looks at the possibilities when using Custom Controls in Model-driven Apps to extend the out of the box functionality, including embedding Canvas Apps inside of Model-driven Apps.
Lessons
- Introduction Custom Controls
- Extending Model-driven Apps with Canvas Apps
- Embedding Canvas Apps as Custom Controls
Lab 1: Create a Canvas App and embed it into a Model-driven App
- Create Canvas Apps
- Create Model-driven App
- Embed Canvas App into Model-driven App as a Component
- Test your App
After completing this module, students will be able to:
- Be familiar with Custom Controls
- Understand how to configure Model-driven Apps and Canvas Apps to use Custom Controls
- Understand the process to configure Custom Controls
Module 7: The PowerApps Component Framework (PCF)
This module extends on the previous module as we look into creating custom components for Model-driven Apps and Canvas Apps using the Power Apps Component Framework (PCF).
Lessons
- Introduction to PCF
- The PCF Command Line Interface (CLI)
- Creating PCF Components
- The PCF Test Environment
- Deploying PCF Components in a Model-driven App
Lab 1: Create and deploy a PCF Control
- Install the Power Apps CLI
- Create your PCF control
- Packing PCF Components in Solutions
- Deploy a PCF Component
- Test your control
After completing this module, students will be able to:
- Understand the need for custom components and controls in Model-driven and Canvas Apps
- Know how to set up your project to start creating a custom PCF control
- Be familiar with the process to write, deploy and test PCF controls using the Power Apps CLI
- Know how to deploy a PCF control in Power Apps
- Understand how to deploy PCF controls to a production environment
Module 8: Developing Custom Connectors
This module looks at how Pro Developers can create Custom Connectors in the Power Apps Maker Portal to then be used by App Makers in Model-driven Apps and Canvas Apps to connect to external data sources and systems.
Lessons
- Connectors Overview
- Custom Connectors
- Process to create a Custom Connector
Lab 1: Create a Custom Connector
- Set up Visual Studio
- Register an App in Azure
- Create a Custom Connector
- Test your Connector in a Canvas App
- Sharing your Connector
After completing this module, students will be able to:
- Understand the need for Custom Connectors
- Know how to start creating a Custom Connector
- Understand how to set up Azure when building and securing Custom Connectors
- Know how to configure a Custom Connector in the Power Apps Maker Portal
- Understand how to share a Custom Connector
Module 9: Application Lifecycle Management (ALM)
In this module we look at the Application Lifecycle Management (ALM) options that are available to help manage and support a Microsoft Power Platform deployment. The Microsoft Power Platform Build Tools and the Power Apps Center of Excellence Starter Kit are also presented in this module.
Lessons
- Introduction to ALM
- Environments and Solution Management
- Microsoft Power Platform Build Tools
- The Power Apps Center of Excellence
Lab 1: None
- None
After completing this module, students will be able to:
- Understand the need for ALM governance frameworks for Microsoft Power Platform Solutions
- Understand the benefits of implementing Microsoft Power Platform Build Tools for Azure DevOps
- Be familiar with the monitoring, governance and nurturing tools and dashboards available through the Power Apps Center of Excellence
- This course is intended for Technical students, Administrators and Developers. Students should have an existing working knowledge of Microsoft Power Platform, Power Apps and Microsoft Visual Studio.
- Knowledge of Model-driven Apps and Canvas Apps in the Microsoft Power Platform, Microsoft .Net and Visual Studio
This course is designed for experienced IT professionals and developers, providing an insight into development techniques and approaches that can be applied to solutions built on the Microsoft Power Platform. You will learn the necessary skills to extend the features of Model-driven Apps and Canvas Apps using code, integrate with the Dataverse using the Web API, build custom controls using the Power Apps Component Framework (PCF), implementing custom business logic through Plug-Ins and Custom Workflow Activities, write client-side code that interacts with the Client Object Model, implement Custom Connectors, and learn about the Application Lifecycle Management (ALM) frameworks available to help support and maintain Power Platform implementations, including the Microsoft Power Platform Build Tools for Azure DevOps and the Power Apps Center of Excellence (CoE).
- Understand the features and tools that exist for Developers in the Microsoft Power Platform.
- Be able to extend Model-driven and Canvas Apps with code to support complex business requirements.
- Understand how to set up projects in Microsoft Visual Studio in preparation to write code, connect to and extend the Dataverse.
- Write server and client-side code to execute commands, read and write data to and from the Dataverse using the Web API.
- Download and configure developer resources and tools such as the PowerApps Component Framework (PCF), the Customer Engagement Software Development Toolkit and Visual Studio resources.
- Build custom components using the PowerApps Component Framework (PCF).
- Understand where and how to use the Power Apps Command Line Interface (CLI).
- Extend Model-driven Apps with custom business logic using Plug-In and Custom Workflow Activities.
- Build, configure and deploy Custom Connectors in the Power Apps Maker Portal.
- Embed Canvas Apps and PCF components into Model-driven Apps.
- Write JavaScript code to extend Model-driven Apps using the Client API Object Model.
- Understand the best practice methodologies when extending and writing code for Apps and solutions built on the Microsoft Power Platform.
- Understand the need for Application Lifecycle Management (ALM) through the implementation of Microsoft Power Platform Build Tools for Azure DevOps and the Power Apps Center of Excellence (CoE).
Module 1: Introduction to Power Platform Development
This module introduces the concept of extending Microsoft Power Platform using Pro Code development. You will learn about the tools and resources that are available to Pro Code Developers as well as best practice methodologies and fundamentals.
Lessons
- The Microsoft Power Platform Overview
- App Makers vs Pro Developers
- Pro Code Developer Options
- Development Tools
- The Customer Engagement Toolkit
- Environments and Solutions
- Security Considerations
- Application Lifecycle Management
- Valuable Skills
- Further reading and resources
Lab 1: Setting up you Lab Environment
- Set up a trial of the Microsoft Power Platform
- Install Sample Data
Lab 2: Developer Orientation
- Review the Developer Resources
- Review the Lab Files
- Review the Customer Engagement Toolkit
After completing this module, students will be able to:
- Describe the key features and tools available to developers in Microsoft Power Platform
- Be familiar with the developer resources and how to set up your development environment
- Understand the key skills required to develop and extend the Power Platform
- Know where to find help and further reading resources
Module 2: Working with the Dataverse using the API
This module presents the various API options that are available to developers in connect to a interact with the Dataverse programmatically. You will learn how to write server-side and client-side code to consume the API endpoints.
Lessons
- Introduction to API programming
- Authentication Considerations
- The Web API
- The Discovery Web Service
- The Organization Web Service
- Core Assemblies
- Early and Late-bound classes
- The Code Generation Tool
- Service Context
- CRUD Operations
- Using the QueryExpression Class
- Using LINQ
Lab 1: Using the Web API with Server-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using Web API Server-side code
- Connect to the Dataverse
- Test your App
Lab 2: Using the Organization service with Server-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using the Organization service
- Connect to the Dataverse
- Test your App
Lab 3: Using the Web API with Client-side code to connect to CDS
- Set up the Visual Studio Project
- Develop an App to perform operations using Web API Client-side code
- Connect to the Dataverse
- Test your App
After completing this module, students will be able to:
- Be familiar with the various API’s available to connect to the Dataverse
- Understand how to write server-side and client-side code to utilize the API’s
- Be able to set up Microsoft Visual Studio to start developing code against the API’s
- Know how to authenticate, connect and perform CRUD based operations programmatically against CDS.
Module 3: Developing Client-side Code
This module introduces the concepts of developing client-side code that works with the Client Object Model in Model-driven Apps. You will also learn how to create and deploy client-side components using Web Resources that use the Web API to work with data in the Dataverse.
Lessons
- Introduction to Client-side coding
- The Client-side Events
- The Client API Object Model
- Using Web resources
Lab 1: Writing a JavaScript Event Handler
- Write a JavaScript Function
- Create a JavaScript Web Resource
- Configure the Event Handler
- Test your JavaScript Code
After completing this module, students will be able to:
- Understand the concept of the Client API Object Model and client-side coding
- Know how to write client-side code to extend Model-driven Apps
- Be familiar with the concept of how to write JavaScript functions
- Deploy HTML and JavaScript Web Resources
Module 4: Developing Plug-Ins
In this module you will learn how to develop custom business logic in a Plug-In component using Microsoft .Net C# in Visual Studio. You will also learn how to deploy Plug-In components to the Dataverse using the Plug-In Registration Tool.
Lessons
- Introduction to Plug-Ins
- Writing Plug-In Code
- Using the Plug-In Registration Tool
- Debugging Plug-Ins with the Plug-In Profiler
- Deploying Plug-Ins with Solutions
Lab 1: Create and deploy a Plug-In
- Customize a Model-driven App
- Set up your Visual Studio Project
- Create a Plug-In
- Sign and Build the Assembly
- Deploy a Plug-In using the Plug-In Registration Tool
- Test your Plug-In
- Debug Plug-In code using the Plug-In Profiler Tool
After completing this module, students will be able to:
- Understand the need for custom business logic and Plug-Ins
- Know how to set up a Microsoft Visual Studio projects to start creating custom Plug-In component
- Be familiar with the process to write, deploy and test Plug-In code in Microsoft Visual Studio
- Use the Plug-In Registration Tool to deploy a Plug-In to the Dataverse
- Debug issues with Plug-In code using the Plug-In Profiler tool
- Understand how to deploy Plug-Ins to a production environment using Solutions
Module 5: Developing Custom Workflow Activities
In this module you will learn how to develop a Custom Workflow Activity using Microsoft .Net C# in Visual Studio. You will also learn how to use a Custom Workflow Activity as a Workflow Step in a Model-driven App.
Lessons
- Introduction to Custom Workflow Activities
- Writing Custom Workflow Activity code
- Deploying a Custom Workflow Activity
Lab 1: Create a Custom Workflow Activity
- Set up the Visual Studio Project
- Create a Custom Workflow Activity
- Sign and Build the Assembly
- Deploy a Custom Workflow Activity
- Create a Workflow
- Test your Custom Workflow Activity
After completing this module, students will be able to:
- Understand the need for custom Workflow Activities in the Microsoft Power Platform
- Know how to set up a Visual Studio project to start creating a custom Workflow Activity
- Be familiar with the process to create and deploy a custom Workflow Activity using the Plug-In Registration Tool
- Understand how to use a custom Workflow Activity in a Process
Module 6: Extending PowerApps
This module looks at the possibilities when using Custom Controls in Model-driven Apps to extend the out of the box functionality, including embedding Canvas Apps inside of Model-driven Apps.
Lessons
- Introduction Custom Controls
- Extending Model-driven Apps with Canvas Apps
- Embedding Canvas Apps as Custom Controls
Lab 1: Create a Canvas App and embed it into a Model-driven App
- Create Canvas Apps
- Create Model-driven App
- Embed Canvas App into Model-driven App as a Component
- Test your App
After completing this module, students will be able to:
- Be familiar with Custom Controls
- Understand how to configure Model-driven Apps and Canvas Apps to use Custom Controls
- Understand the process to configure Custom Controls
Module 7: The PowerApps Component Framework (PCF)
This module extends on the previous module as we look into creating custom components for Model-driven Apps and Canvas Apps using the Power Apps Component Framework (PCF).
Lessons
- Introduction to PCF
- The PCF Command Line Interface (CLI)
- Creating PCF Components
- The PCF Test Environment
- Deploying PCF Components in a Model-driven App
Lab 1: Create and deploy a PCF Control
- Install the Power Apps CLI
- Create your PCF control
- Packing PCF Components in Solutions
- Deploy a PCF Component
- Test your control
After completing this module, students will be able to:
- Understand the need for custom components and controls in Model-driven and Canvas Apps
- Know how to set up your project to start creating a custom PCF control
- Be familiar with the process to write, deploy and test PCF controls using the Power Apps CLI
- Know how to deploy a PCF control in Power Apps
- Understand how to deploy PCF controls to a production environment
Module 8: Developing Custom Connectors
This module looks at how Pro Developers can create Custom Connectors in the Power Apps Maker Portal to then be used by App Makers in Model-driven Apps and Canvas Apps to connect to external data sources and systems.
Lessons
- Connectors Overview
- Custom Connectors
- Process to create a Custom Connector
Lab 1: Create a Custom Connector
- Set up Visual Studio
- Register an App in Azure
- Create a Custom Connector
- Test your Connector in a Canvas App
- Sharing your Connector
After completing this module, students will be able to:
- Understand the need for Custom Connectors
- Know how to start creating a Custom Connector
- Understand how to set up Azure when building and securing Custom Connectors
- Know how to configure a Custom Connector in the Power Apps Maker Portal
- Understand how to share a Custom Connector
Module 9: Application Lifecycle Management (ALM)
In this module we look at the Application Lifecycle Management (ALM) options that are available to help manage and support a Microsoft Power Platform deployment. The Microsoft Power Platform Build Tools and the Power Apps Center of Excellence Starter Kit are also presented in this module.
Lessons
- Introduction to ALM
- Environments and Solution Management
- Microsoft Power Platform Build Tools
- The Power Apps Center of Excellence
Lab 1: None
- None
After completing this module, students will be able to:
- Understand the need for ALM governance frameworks for Microsoft Power Platform Solutions
- Understand the benefits of implementing Microsoft Power Platform Build Tools for Azure DevOps
- Be familiar with the monitoring, governance and nurturing tools and dashboards available through the Power Apps Center of Excellence
- This course is intended for Technical students, Administrators and Developers. Students should have an existing working knowledge of Microsoft Power Platform, Power Apps and Microsoft Visual Studio.
- Knowledge of Model-driven Apps and Canvas Apps in the Microsoft Power Platform, Microsoft .Net and Visual Studio