From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]
![From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP] From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]](https://images.podpage.com/tr:w-1200,h-630,cm-pad_resize,bg-blurred_70/https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/aa5dfe6fe28b65b7edf5c1a4ef5d9d74.jpg)
![From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP] From SharePoint Developer to Power Platform Architect: Building Secure and Scalable Solutions with Michel Mendes [MVP]](https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/aa5dfe6fe28b65b7edf5c1a4ef5d9d74.jpg)
In this episode of the M365 Podcast, Mirko Peters sits down with Microsoft MVP Michel Mendes to explore his remarkable journey from traditional SharePoint development to becoming a leading Power Platform Architect. Michel shares how he started his Microsoft technology career in Brazil, transitioned from C# and SharePoint development into the modern Power Platform ecosystem, and eventually moved to Ireland to continue building enterprise-grade solutions for organizations worldwide.Throughout the conversation, Michel provides valuable insights into how the Microsoft ecosystem has evolved over the years, the growing role of AI in software development, and why understanding architecture, governance, and security remains critical even in a low-code world. Whether you're a developer, solution architect, IT leader, or Power Platform enthusiast, this episode delivers practical guidance for building scalable and maintainable business applications.
POWER PLATFORM EVOLUTION AND THE FUTURE OF DEVELOPMENT
Michel discusses how Power Platform has transformed application development by enabling both professional developers and technically minded business users to build solutions faster than ever before. He also shares his perspective on how AI-powered development tools such as GitHub Copilot are changing the way applications are designed, prototyped, and maintained.Key topics include:• The transition from traditional development to low-code solutions
• How AI is accelerating software delivery
• Why developers who embrace AI will thrive
• The future of Power Apps, Power Pages, and pro-code development
• The importance of understanding business problems before building technology
BUILDING ENTERPRISE POWER APPS THAT SCALE
Creating an app is easy. Creating an app that remains maintainable, performant, and scalable for years is much harder.Michel explains the architectural principles that separate successful Power Platform implementations from those that struggle over time. He shares practical advice on designing reusable components, improving performance, and creating solutions that can grow alongside business requirements.Topics covered:• Power Apps design best practices
• Building maintainable applications
• Performance optimization strategies
• Reusable components and architecture patterns
• Measuring business value and user adoption
DATAVERSE AS THE FOUNDATION OF MODERN BUSINESS APPLICATIONS
A major part of the discussion focuses on Microsoft Dataverse and its role as the foundation for enterprise-grade Power Platform solutions.Michel explains why Dataverse is much more than a database and how it provides built-in governance, security, authentication, and scalability capabilities that help organizations avoid reinventing the wheel.Learn about:• Dataverse architecture fundamentals
• Security and governance advantages
• Building scalable business applications
• Plugins versus Power Automate flows
• Designing efficient data models
POWER PAGES AND EXTERNAL BUSINESS SOLUTIONS
Michel is widely recognized for his expertise in Power Pages, and this episode dives deep into how organizations can create secure, modern, and scalable external-facing websites powered by Dataverse.The conversation explores when Power Pages is the right choice, how it differs from Power Apps, and how recent innovations are making the platform even more attractive for professional developers.Highlights include:• Power Pages fundamentals
• External portals and customer-facing applications
• React and Angular-based SPA experiences
• AI-assisted website development
• Modern Power Pages architecture
SECURITY, GOVERNANCE, AND WEB API BEST PRACTICES
One of the most valuable sections of the episode focuses on security.Michel explains common mistakes developers make when exposing Dataverse data through Power Pages and outlines practical approaches for protecting sensitive information while maintaining usability.Topics include:• Dataverse table permissions
• Column-level security
• Power Pages Web API security
• Common security vulnerabilities
• Governance and compliance best practices
• Penetration testing and security reviews
COMMUNITY, CAREER GROWTH, AND MVP INSIGHTS
Michel also shares his experiences as a Microsoft MVP and discusses the importance of contributing back to the Microsoft community through blogging, conference speaking, GitHub projects, and social media engagement.For professionals starting their Power Platform journey, he provides actionable advice on certifications, learning paths, and developing a long-term career strategy within the Microsoft ecosystem.This episode is packed with real-world experience, technical insights, and practical guidance for anyone looking to build secure, scalable, and future-ready solutions with Microsoft Power Platform.Whether you're a SharePoint veteran, a Power Platform developer, a solution architect, or simply curious about the future of low-code and AI-powered development, this conversation with Michel Mendes delivers valuable lessons from someone who has successfully navigated every stage of that journey.
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.
🚀 Want to be part of m365.fm?
Then stop just listening… and start showing up.
👉 Connect with me on LinkedIn and let’s make something happen:
- 🎙️ Be a podcast guest and share your story
- 🎧 Host your own episode (yes, seriously)
- 💡 Pitch topics the community actually wants to hear
- 🌍 Build your personal brand in the Microsoft 365 space
This isn’t just a podcast — it’s a platform for people who take action.
🔥 Most people wait. The best ones don’t.
👉 Connect with me on LinkedIn and send me a message:
"I want in"
Let’s build something awesome 👊
00:00:00,000 --> 00:00:03,880
Welcome to another edition of the MC65 podcast.
2
00:00:03,880 --> 00:00:05,920
My today's guest is Michael Mendez,
3
00:00:05,920 --> 00:00:06,920
Microsoft MVP,
4
00:00:06,920 --> 00:00:09,360
solution architect and developer specialized
5
00:00:09,360 --> 00:00:12,120
in Microsoft 365 and the Power Platform.
6
00:00:12,120 --> 00:00:16,840
Michael began his journey with Microsoft technology back in 2008
7
00:00:16,840 --> 00:00:19,720
and spent nearly a decade working as a developer in
8
00:00:19,720 --> 00:00:22,800
the Brazil building deep expertise in
9
00:00:22,800 --> 00:00:25,600
SharePoint development and enterprise solutions.
10
00:00:25,600 --> 00:00:31,480
In 2018 he made the move to Dublin and
11
00:00:31,480 --> 00:00:34,400
successfully fully transitioned from
12
00:00:34,400 --> 00:00:35,840
to the SharePoint development into
13
00:00:35,840 --> 00:00:37,840
modern business application space today.
14
00:00:37,840 --> 00:00:40,800
Michael focused on designing and delivering
15
00:00:40,800 --> 00:00:42,880
enterprise drive solution using power apps,
16
00:00:42,880 --> 00:00:45,480
power automate, data versus power pages,
17
00:00:45,480 --> 00:00:48,720
helping organization build powerful digital expertise
18
00:00:48,720 --> 00:00:50,520
while maintaining securities,
19
00:00:50,520 --> 00:00:52,240
getability and governance.
20
00:00:52,240 --> 00:00:54,520
Yeah, in this episode we will explore
21
00:00:54,520 --> 00:00:57,160
Michael journey through the Microsoft ecosystem,
22
00:00:57,160 --> 00:01:01,320
the evolution of power platform dive into power pages security,
23
00:01:01,320 --> 00:01:04,240
best practice and talk about what it takes to build
24
00:01:04,240 --> 00:01:06,280
a solution that can scan in the real world.
25
00:01:06,280 --> 00:01:08,280
Where can Michael team the show?
26
00:01:08,280 --> 00:01:09,680
Thank you, thank you.
27
00:01:09,680 --> 00:01:12,480
Nice to meet you here in person,
28
00:01:12,480 --> 00:01:14,400
virtually for the first time.
29
00:01:14,400 --> 00:01:16,480
Pleased to be here with you and
30
00:01:16,480 --> 00:01:19,200
yeah, looking forward to our conversation.
31
00:01:19,200 --> 00:01:21,120
Yeah.
32
00:01:21,120 --> 00:01:27,600
You are really long in the Microsoft space in 2008.
33
00:01:27,600 --> 00:01:33,720
Yeah, how did your journey start with Microsoft technologies?
34
00:01:33,720 --> 00:01:38,120
Okay, when I graduated in university,
35
00:01:38,120 --> 00:01:39,640
so I think when I was in university,
36
00:01:39,640 --> 00:01:43,920
I did a few internship programs,
37
00:01:43,920 --> 00:01:45,680
one for my college.
38
00:01:45,680 --> 00:01:49,400
It was like an internal paid project that they
39
00:01:49,400 --> 00:01:53,800
supported like a tuition fee and I worked for six months as well for
40
00:01:53,800 --> 00:01:57,400
like one of the government bodies of the city,
41
00:01:57,400 --> 00:02:02,120
but I didn't work with Microsoft technologies like
42
00:02:02,120 --> 00:02:04,520
until now, until that points.
43
00:02:04,520 --> 00:02:07,280
So my like my in the during college,
44
00:02:07,280 --> 00:02:11,320
I only studied Java and I worked on my internship with PHP.
45
00:02:11,320 --> 00:02:13,320
It's not into which Microsoft.
46
00:02:13,320 --> 00:02:15,280
But then after I finished college,
47
00:02:15,280 --> 00:02:18,960
I was trying to find a job in another city like
48
00:02:18,960 --> 00:02:21,920
I studied in a city called Oru Preto.
49
00:02:21,920 --> 00:02:24,320
It was a small city in Brazil.
50
00:02:24,320 --> 00:02:26,720
Then I was trying to move to Belo Horizonte,
51
00:02:26,720 --> 00:02:30,200
which is the capital city of Minas Gerais.
52
00:02:30,200 --> 00:02:35,960
So there I could get a job in a company that they offered like a training program.
53
00:02:35,960 --> 00:02:40,760
And they trained everyone in Microsoft technologies and I began then my career
54
00:02:40,760 --> 00:02:43,720
studying C#, SQL Server.
55
00:02:43,720 --> 00:02:48,320
And at that point, I did a few projects with Windows Forms.
56
00:02:48,320 --> 00:02:51,200
And it was, I'm just trying to remember the name of technology,
57
00:02:51,200 --> 00:02:55,600
but it was the ASP dot net before the MVC,
58
00:02:55,600 --> 00:02:58,280
I totally forgot the name of it, but web format,
59
00:02:58,280 --> 00:03:00,400
ASP dot net web forms, I think.
60
00:03:00,400 --> 00:03:03,440
So I worked like for a year in projects like this.
61
00:03:03,440 --> 00:03:07,120
And after a year, they were, the company were
62
00:03:07,120 --> 00:03:11,520
inversing SharePoint projects and they picked up a field of
63
00:03:11,520 --> 00:03:14,480
developers to train again in SharePoint.
64
00:03:14,480 --> 00:03:18,240
And then I started working as a SharePoint developer.
65
00:03:18,240 --> 00:03:20,680
And then I career began.
66
00:03:20,680 --> 00:03:25,080
I worked for a long time in Brazil with SharePoint and I slowly started
67
00:03:25,080 --> 00:03:29,400
to be introduced to the Barplatform until I,
68
00:03:29,400 --> 00:03:32,800
now there is only work with Barplatform basically.
69
00:03:32,800 --> 00:03:34,840
That's more or less it.
70
00:03:34,840 --> 00:03:40,000
Yeah, so you have this, I call the traditional development skills.
71
00:03:40,000 --> 00:03:44,600
And how does this apply to the low-code area?
72
00:03:48,040 --> 00:03:55,080
Like, since I always, I was taught to think like this and I tried to do
73
00:03:55,080 --> 00:03:58,680
my best like these in terms of SharePoint itself.
74
00:03:58,680 --> 00:04:03,440
Like, even if we think about low-code like ConvozApps and
75
00:04:03,440 --> 00:04:06,000
everything gets more advanced, from SharePoints time,
76
00:04:06,000 --> 00:04:09,000
there was a lot we could do out of the box without having to write
77
00:04:09,000 --> 00:04:10,280
custom code.
78
00:04:10,280 --> 00:04:13,360
And you should, you should got a developer that doesn't understand
79
00:04:13,360 --> 00:04:14,480
how the platform works.
80
00:04:14,480 --> 00:04:16,800
We would be reinventing the wheel, right?
81
00:04:16,800 --> 00:04:21,600
So like my mentors at that point, they taught me like, hey,
82
00:04:21,600 --> 00:04:24,560
you need to think first, and like, does the feature exist?
83
00:04:24,560 --> 00:04:26,320
Can you do it with configuration first?
84
00:04:26,320 --> 00:04:29,640
If you can't, then we go to Procode Approaches.
85
00:04:29,640 --> 00:04:32,680
And that's what I do now with the Barplatform as well.
86
00:04:32,680 --> 00:04:36,880
So basically, I can say that that reduced a little bit because we
87
00:04:36,880 --> 00:04:39,040
can do a lot with low-code tools now.
88
00:04:39,040 --> 00:04:43,800
So if we think about ConvozApp, see the other DGN apps out of the box
89
00:04:43,800 --> 00:04:45,840
and bar automate?
90
00:04:45,840 --> 00:04:49,960
There's a lot we can do without coding, but still, we see the best
91
00:04:49,960 --> 00:04:50,960
approach.
92
00:04:50,960 --> 00:04:54,040
When we try to do anything with low-code and it fails or it's not
93
00:04:54,040 --> 00:04:56,960
enough, then we go for Procode Approach.
94
00:04:56,960 --> 00:05:02,560
Or if the customer wants something really customized and still
95
00:05:02,560 --> 00:05:06,240
wants to leverage the benefits of governance and the whole
96
00:05:06,240 --> 00:05:10,600
data for security, then I think that's when we build a highly
97
00:05:10,600 --> 00:05:11,680
customized solution.
98
00:05:11,680 --> 00:05:16,360
But always keeping in mind that we need to do security configs
99
00:05:16,360 --> 00:05:20,120
out of the box and all that stuff, right?
100
00:05:20,120 --> 00:05:23,960
And you're really long in this Microsoft ecosystem.
101
00:05:23,960 --> 00:05:28,320
How did you see how it changed over the last year, especially
102
00:05:28,320 --> 00:05:32,840
now with the AI topic?
103
00:05:32,840 --> 00:05:36,560
Yeah, I think it's exciting, but challenging at the same time,
104
00:05:36,560 --> 00:05:40,360
because we need to be keeping an eye all the time in the news
105
00:05:40,360 --> 00:05:42,360
and updates, right?
106
00:05:42,360 --> 00:05:47,240
But to me, I cannot say that things will go in that way, but I
107
00:05:47,240 --> 00:05:54,320
feel that due to the whole world being targeted into developing
108
00:05:54,320 --> 00:05:57,680
Procode apps with AI, I think that's going to be the way to go
109
00:05:57,680 --> 00:05:58,200
going forward.
110
00:05:58,200 --> 00:06:02,400
So far, example, in case of Power Apps, instead of developing
111
00:06:02,400 --> 00:06:05,600
ConvozApps, what's going to be the trend now is develop
112
00:06:05,600 --> 00:06:09,640
code apps, because then you can use Cloud Code or GitHub
113
00:06:09,640 --> 00:06:13,520
to build the apps while still leveraging everything,
114
00:06:13,520 --> 00:06:15,880
like the governance and data of those features and all
115
00:06:15,880 --> 00:06:19,480
security, same for Power Page as well.
116
00:06:19,480 --> 00:06:24,720
The only edge case that I feel that they won't be going
117
00:06:24,720 --> 00:06:29,200
towards that direction are if you don't have premium licenses
118
00:06:29,200 --> 00:06:32,480
for Power Apps, because you cannot use code apps
119
00:06:32,480 --> 00:06:35,040
and Power Page without premium licenses.
120
00:06:35,040 --> 00:06:37,440
So for that case, for example, companies
121
00:06:37,440 --> 00:06:40,000
that they want to build apps with SharePoints, OK,
122
00:06:40,000 --> 00:06:43,080
there's still a use case for ConvozApps.
123
00:06:43,080 --> 00:06:45,680
But I believe, at least from what I see people trying
124
00:06:45,680 --> 00:06:51,880
around, I think the whole-- the LLMs and the agents,
125
00:06:51,880 --> 00:06:55,960
the agent development tools, they are not that good with ConvozApps
126
00:06:55,960 --> 00:06:59,360
as they are with full Procode apps.
127
00:06:59,360 --> 00:07:02,920
So I think we'll see a gap in that point at the moment.
128
00:07:02,920 --> 00:07:05,440
I'm not sure how things are going to spin out in two months,
129
00:07:05,440 --> 00:07:10,480
I'm maybe missing proofs, but that's what I feel at the moment,
130
00:07:10,480 --> 00:07:12,360
too.
131
00:07:12,360 --> 00:07:17,360
And how do you see how has Power Platform, Microsoft Frame,
132
00:07:17,360 --> 00:07:20,080
the day of makeup platform, changed
133
00:07:20,080 --> 00:07:25,560
to the other way organizations approach application development?
134
00:07:25,560 --> 00:07:30,000
You mean in terms of not needing a software that
135
00:07:30,000 --> 00:07:33,440
is less necessarily a software developer to build apps or--
136
00:07:33,440 --> 00:07:37,160
Yeah, and I think one of the keywords
137
00:07:37,160 --> 00:07:39,000
are citizen development.
138
00:07:39,000 --> 00:07:43,560
Yeah, I think, honestly, to me, I feel--
139
00:07:43,560 --> 00:07:47,920
Power Platform empowers more people to be developing apps.
140
00:07:47,920 --> 00:07:52,120
But sometimes I think the term is a bit misunderstood
141
00:07:52,120 --> 00:07:55,680
in terms of it's not that everyone will build apps at the end.
142
00:07:55,680 --> 00:08:00,240
At least to me, I feel that maybe the most impactful apps
143
00:08:00,240 --> 00:08:01,760
that are built are built from people
144
00:08:01,760 --> 00:08:06,440
that they were already very tech-savvy building stuff
145
00:08:06,440 --> 00:08:07,280
with other tools.
146
00:08:07,280 --> 00:08:10,080
So for example, you see a lot of people
147
00:08:10,080 --> 00:08:15,880
that they were power users for Excel for anything in office.
148
00:08:15,880 --> 00:08:17,800
I think you see more impact from those people
149
00:08:17,800 --> 00:08:21,720
touching the Power Platform than someone that maybe doesn't
150
00:08:21,720 --> 00:08:26,920
even want to be very good at saving, you know?
151
00:08:26,920 --> 00:08:29,760
I think not saying that those guys cannot want to build apps,
152
00:08:29,760 --> 00:08:32,880
I think everyone ends up building something,
153
00:08:32,880 --> 00:08:34,400
but in terms of more impact.
154
00:08:34,400 --> 00:08:37,200
And that's my impression, anyway.
155
00:08:37,200 --> 00:08:39,840
I might be wrong, but--
156
00:08:39,840 --> 00:08:46,440
And what will you say, what separates a successful Power Platform
157
00:08:46,440 --> 00:08:51,080
implementation from one that struggles?
158
00:08:51,080 --> 00:08:52,280
Successful.
159
00:08:52,280 --> 00:08:59,720
I think if we measure how many users are really using the apps,
160
00:08:59,720 --> 00:09:05,640
like if we can measure, for example, the number of hours
161
00:09:05,640 --> 00:09:10,160
a process used to take before the digitized process
162
00:09:10,160 --> 00:09:13,720
was in place and how it works now.
163
00:09:13,720 --> 00:09:16,240
Because I think there's no point in people building apps
164
00:09:16,240 --> 00:09:19,440
that nobody uses and making impact, you know?
165
00:09:19,440 --> 00:09:21,520
That's what I feel.
166
00:09:21,520 --> 00:09:23,880
I know every company would have different measures,
167
00:09:23,880 --> 00:09:26,200
but I think that's it.
168
00:09:26,200 --> 00:09:32,520
In terms of how many hours you saved, what was the real impact?
169
00:09:32,520 --> 00:09:36,040
You gathered some reports to just show numbers before and after
170
00:09:36,040 --> 00:09:39,640
the process was implemented?
171
00:09:39,640 --> 00:09:43,440
One of your core specialists is Power Apps.
172
00:09:43,440 --> 00:09:49,400
What makes a good Power Apps to a great one?
173
00:09:49,400 --> 00:09:50,280
I think it's--
174
00:09:50,280 --> 00:09:53,240
if when people think about usability, when
175
00:09:53,240 --> 00:09:58,360
they build an app that's intuitive, and the first thing is not
176
00:09:58,360 --> 00:10:00,760
only building an app, but understanding
177
00:10:00,760 --> 00:10:06,600
the real business problem in what the app is trying to solve,
178
00:10:06,600 --> 00:10:12,000
like really bridging the gap between technology and the people.
179
00:10:12,000 --> 00:10:14,120
Because sometimes when people develop systems,
180
00:10:14,120 --> 00:10:17,600
I think they don't really--
181
00:10:17,600 --> 00:10:19,080
how can I say--
182
00:10:19,080 --> 00:10:22,400
put themselves in the place of the users?
183
00:10:22,400 --> 00:10:24,920
And sometimes they try to solve a problem that doesn't exist
184
00:10:24,920 --> 00:10:27,960
or solve it in a wrong way because there's
185
00:10:27,960 --> 00:10:30,720
mis-inquisitions and things like that.
186
00:10:30,720 --> 00:10:37,360
But I think most of the processes really well-mapped,
187
00:10:37,360 --> 00:10:41,800
and then the app is built with the users in mind.
188
00:10:41,800 --> 00:10:45,080
I think that's the beginning of success.
189
00:10:45,080 --> 00:10:50,600
And how did you start when you build an app?
190
00:10:50,600 --> 00:10:54,160
What's your-- how did you do it?
191
00:10:54,160 --> 00:10:54,960
What's your plan?
192
00:10:54,960 --> 00:11:02,840
OK, usually, it's not that I do it everything myself,
193
00:11:02,840 --> 00:11:07,920
but we would have a BA that talks to business,
194
00:11:07,920 --> 00:11:10,120
and then that the end-of-sensory requirements
195
00:11:10,120 --> 00:11:12,360
talk to the technical people.
196
00:11:12,360 --> 00:11:15,800
Maybe we do some prototype to validate the ideas before
197
00:11:15,800 --> 00:11:19,080
building the apps, do presentations for the users.
198
00:11:19,080 --> 00:11:21,120
If they are happy with the prototypes,
199
00:11:21,120 --> 00:11:23,280
then we go forward developing the app.
200
00:11:23,280 --> 00:11:24,400
I think it's easier like this.
201
00:11:24,400 --> 00:11:27,240
So we just show mockups, and sometimes we
202
00:11:27,240 --> 00:11:30,280
could just figure out, for example, to create prototypes.
203
00:11:30,280 --> 00:11:34,920
And the users give a few ideas and tell what they like,
204
00:11:34,920 --> 00:11:36,400
what they didn't like.
205
00:11:36,400 --> 00:11:38,760
Because sometimes it's easier to fix things
206
00:11:38,760 --> 00:11:41,160
when you show just the prototype instead
207
00:11:41,160 --> 00:11:44,720
of changing the whole data model, how things flow.
208
00:11:44,720 --> 00:11:47,120
I know, nowadays it's even easier, which
209
00:11:47,120 --> 00:11:49,200
I think we can build everything quickly with AI,
210
00:11:49,200 --> 00:11:52,880
but thinking about the way things used to be until now,
211
00:11:52,880 --> 00:11:58,280
it's, I think, that's the approach I used to take until now.
212
00:11:58,280 --> 00:11:59,680
But sometimes, yeah, even with AI,
213
00:11:59,680 --> 00:12:03,880
now, we can just simply build a proof of concept quickly,
214
00:12:03,880 --> 00:12:05,800
show to the users, see if they like it,
215
00:12:05,800 --> 00:12:09,760
and if they don't like it, we throw it away, and you did again.
216
00:12:09,760 --> 00:12:13,520
I just think when it's a system that is running production,
217
00:12:13,520 --> 00:12:17,200
then sometimes we need to modify existing functionality,
218
00:12:17,200 --> 00:12:22,280
maybe going with the prototype way is the best, even now.
219
00:12:22,280 --> 00:12:26,320
And what tips, I think, a lot of people build apps,
220
00:12:26,320 --> 00:12:29,360
but what is your tips to make it, yeah, long term,
221
00:12:29,360 --> 00:12:32,280
main, main, a little bit?
222
00:12:32,280 --> 00:12:35,440
No, sorry, what's the tips to make it, what, say?
223
00:12:35,440 --> 00:12:40,520
The main, maintain, maintain, the ability,
224
00:12:40,520 --> 00:12:46,040
how can we build apps that works long, long, long term?
225
00:12:46,040 --> 00:12:53,680
It depends, it depends if it's kind of a, if it's kind of a,
226
00:12:53,680 --> 00:12:58,600
let's say, one thing, if it's model another, but in general,
227
00:12:58,600 --> 00:13:05,360
I think, if we think, if we think when we build the apps to try
228
00:13:05,360 --> 00:13:08,280
to make everything the most reusable as possible,
229
00:13:08,280 --> 00:13:11,000
instead of like duplicating a lot of code, you know,
230
00:13:11,000 --> 00:13:13,520
because that's something that people sometimes start building apps
231
00:13:13,520 --> 00:13:16,240
and don't think about creating components,
232
00:13:16,240 --> 00:13:21,240
like optimizing those reusable bits of the app.
233
00:13:21,240 --> 00:13:24,840
Also think about performance as well,
234
00:13:24,840 --> 00:13:28,680
like not only build the app, but think,
235
00:13:28,680 --> 00:13:29,960
how is this gonna grow?
236
00:13:29,960 --> 00:13:32,560
Is the platform gonna support it?
237
00:13:32,560 --> 00:13:34,600
Because sometimes as way, you build queries
238
00:13:34,600 --> 00:13:37,920
that they can be slower than the others,
239
00:13:38,760 --> 00:13:44,520
and yeah, I think it's just, think about the performance,
240
00:13:44,520 --> 00:13:49,360
how to reuse components and build the app in a way
241
00:13:49,360 --> 00:13:51,600
that is easy to change if needed.
242
00:13:51,600 --> 00:13:56,080
- I think when we talk about power apps,
243
00:13:56,080 --> 00:14:00,200
or especially we talk about enterprise power apps,
244
00:14:00,200 --> 00:14:03,240
we have also talk about data worse.
245
00:14:03,240 --> 00:14:05,440
What role do those data worse play
246
00:14:05,440 --> 00:14:07,400
in creating scalable solutions?
247
00:14:07,680 --> 00:14:12,680
- Hmm, I think it's, honestly,
248
00:14:12,680 --> 00:14:18,280
if the person who is building solutions understands data
249
00:14:18,280 --> 00:14:24,280
worse, well, they will be able to like map how to build
250
00:14:24,280 --> 00:14:28,240
the queries in the apps correctly in a performance way,
251
00:14:28,240 --> 00:14:31,000
or if they wanna do pro code stuff,
252
00:14:31,000 --> 00:14:36,000
for example, plugins versus creating flows,
253
00:14:36,440 --> 00:14:38,160
like if you understand that thing back
254
00:14:38,160 --> 00:14:40,160
that the excessive use of plugins
255
00:14:40,160 --> 00:14:42,720
having the environment can slow it down
256
00:14:42,720 --> 00:14:45,280
versus some functionality you can transfer to flows,
257
00:14:45,280 --> 00:14:48,280
I think it's good.
258
00:14:48,280 --> 00:14:51,520
And in terms of data worse,
259
00:14:51,520 --> 00:14:53,120
like what role it would play,
260
00:14:53,120 --> 00:14:57,000
I think it's, I won't say it's only data worse,
261
00:14:57,000 --> 00:14:58,920
but it's a power platform overall,
262
00:14:58,920 --> 00:15:01,800
because when you build a solution in top of data worse,
263
00:15:01,800 --> 00:15:04,160
you don't need to be reinventing the wheel in terms of
264
00:15:05,080 --> 00:15:08,000
configuring data models, security and all of that.
265
00:15:08,000 --> 00:15:10,400
That sort of helps in governance as well.
266
00:15:10,400 --> 00:15:13,920
So the users need to think about the focus,
267
00:15:13,920 --> 00:15:18,440
the developers would need to focus more on how to develop
268
00:15:18,440 --> 00:15:22,280
the apps, the code or configuration bits,
269
00:15:22,280 --> 00:15:25,440
and not worry about authentication security
270
00:15:25,440 --> 00:15:27,000
in all the other aspects,
271
00:15:27,000 --> 00:15:29,520
if that is configured correctly.
272
00:15:29,520 --> 00:15:30,360
Let's see.
273
00:15:30,360 --> 00:15:35,040
- I think another topic you are also in is its power page,
274
00:15:35,040 --> 00:15:35,880
and power pages.
275
00:15:35,880 --> 00:15:38,720
Well, listen now there,
276
00:15:38,720 --> 00:15:40,560
I'm familiar with those power pages.
277
00:15:40,560 --> 00:15:43,600
How would you describe these platforms?
278
00:15:43,600 --> 00:15:46,920
- How would I describe power pages
279
00:15:46,920 --> 00:15:50,040
comparing to power apps and the rest is it?
280
00:15:50,040 --> 00:15:51,080
- Yep.
281
00:15:51,080 --> 00:15:54,560
Well, I'd say in summary,
282
00:15:54,560 --> 00:15:57,080
think of power pages for external users,
283
00:15:57,080 --> 00:15:59,080
power apps for internal users,
284
00:15:59,080 --> 00:16:01,040
because you cannot be exposing power apps
285
00:16:01,040 --> 00:16:02,360
for external users.
286
00:16:02,360 --> 00:16:05,360
And then if you need to have external people
287
00:16:05,360 --> 00:16:08,920
to interact with data versus our pages is the way to go.
288
00:16:08,920 --> 00:16:11,320
Obviously, you don't need power pages to do that.
289
00:16:11,320 --> 00:16:14,440
You could build a map with dot-map that connects to data
290
00:16:14,440 --> 00:16:17,600
versus, but the way power pages built is like,
291
00:16:17,600 --> 00:16:19,600
it's very quick to spin up a solution.
292
00:16:19,600 --> 00:16:22,200
It has the same benefits as using data
293
00:16:22,200 --> 00:16:23,560
versus for internal stuff.
294
00:16:23,560 --> 00:16:27,920
So for example, when it comes to security, exposing only
295
00:16:27,920 --> 00:16:30,280
some bits of data or others,
296
00:16:30,280 --> 00:16:35,280
and having more restrictions or of what people can or cannot do,
297
00:16:35,280 --> 00:16:38,600
you can do it, you can do everything out of the box.
298
00:16:38,600 --> 00:16:40,240
You don't need to develop code for that.
299
00:16:40,240 --> 00:16:42,320
So if you know everything you are doing exactly,
300
00:16:42,320 --> 00:16:46,240
you can simply configure like what tables you want to expose
301
00:16:46,240 --> 00:16:51,240
to the public, what are the exact data roles
302
00:16:51,240 --> 00:16:53,080
that the users can have access,
303
00:16:53,080 --> 00:16:55,640
what the actions they can do and everything,
304
00:16:55,640 --> 00:16:57,440
just with configuration.
305
00:16:57,440 --> 00:17:01,800
So even if the developer tries to help
306
00:17:01,800 --> 00:17:05,520
and say over-expose data that users shouldn't see,
307
00:17:05,520 --> 00:17:07,480
if the permissions are configured correctly,
308
00:17:07,480 --> 00:17:09,520
that won't happen, I think.
309
00:17:09,520 --> 00:17:10,320
That's the benefit.
310
00:17:10,320 --> 00:17:17,040
- And what types of business scenarios are ideal for power pages?
311
00:17:17,040 --> 00:17:18,600
That's just a little fun.
312
00:17:18,600 --> 00:17:23,320
- In my opinion, in my opinion, it justifies the investment
313
00:17:23,320 --> 00:17:28,200
if the company already has data versus foreign telephone processes.
314
00:17:28,200 --> 00:17:31,560
Because then you get a real benefit of it.
315
00:17:31,560 --> 00:17:34,280
So like you already have a lot of power apps,
316
00:17:34,280 --> 00:17:36,160
kind of as apps or model driven apps,
317
00:17:36,160 --> 00:17:37,600
running up business processes
318
00:17:37,600 --> 00:17:40,760
and you need to expose part of its external users.
319
00:17:40,760 --> 00:17:43,440
I think that's when power pages shines
320
00:17:43,440 --> 00:17:46,280
because you can spin up a website very quickly
321
00:17:46,280 --> 00:17:48,240
without those benefits and said.
322
00:17:48,240 --> 00:17:51,040
But I don't think like in my opinion,
323
00:17:51,040 --> 00:17:53,840
and I think it's even a common agreement
324
00:17:53,840 --> 00:17:56,800
among the community that you can actually create
325
00:17:56,800 --> 00:17:59,160
power pages connecting to different data sources,
326
00:17:59,160 --> 00:18:01,600
but it's not the bigger strength.
327
00:18:01,600 --> 00:18:04,480
The main one is with data versus.
328
00:18:04,480 --> 00:18:07,880
- It works.
329
00:18:07,880 --> 00:18:11,680
It works, but I think the company is gonna get more benefits
330
00:18:11,680 --> 00:18:12,800
with data versus.
331
00:18:12,800 --> 00:18:14,480
- Okay.
332
00:18:14,480 --> 00:18:18,160
Yeah, why are so many companies,
333
00:18:18,160 --> 00:18:22,320
they are just phasing with external portals
334
00:18:22,320 --> 00:18:24,320
they are often challenging them.
335
00:18:24,320 --> 00:18:29,240
Yeah, I think, yeah, it's, I don't know.
336
00:18:29,240 --> 00:18:33,440
I have the feeling a lot, they have not these concepts.
337
00:18:33,440 --> 00:18:36,920
I think it's, yeah, I think a little bit about it.
338
00:18:36,920 --> 00:18:39,600
It's an edit on for dynamic.
339
00:18:39,600 --> 00:18:43,560
So, how will you describe
340
00:18:45,360 --> 00:18:49,520
what makes a good port external portal?
341
00:18:49,520 --> 00:18:56,720
- I think, nice UI, which sometimes is not the easiest thing
342
00:18:56,720 --> 00:18:59,640
to do, which you use only other box components,
343
00:18:59,640 --> 00:19:04,640
but it can be achieved like with a few CSS styling
344
00:19:04,640 --> 00:19:08,680
and as well, okay, nice UI, I think
345
00:19:08,680 --> 00:19:13,720
that there's also need to think about performance
346
00:19:13,720 --> 00:19:17,080
because if you have portal, there's a few things we can,
347
00:19:17,080 --> 00:19:20,200
we can tweaking the part page's website
348
00:19:20,200 --> 00:19:21,960
to improve performance, but basically,
349
00:19:21,960 --> 00:19:24,880
if the portal is not fast,
350
00:19:24,880 --> 00:19:28,400
they use it just gonna be low because the users who like it,
351
00:19:28,400 --> 00:19:30,880
you know, so I think it's like they have to be friendly
352
00:19:30,880 --> 00:19:34,000
and fast and also the same way as for business,
353
00:19:34,000 --> 00:19:37,560
internal business users, if you are proposing
354
00:19:37,560 --> 00:19:41,080
a portal for external people, just trying to think
355
00:19:41,080 --> 00:19:44,800
of what problem the portal is trying to solve
356
00:19:44,800 --> 00:19:47,400
for your external people.
357
00:19:47,400 --> 00:19:50,000
Maybe it's a problem, but not their problem,
358
00:19:50,000 --> 00:19:52,320
I think it should be a combination of both.
359
00:19:52,320 --> 00:19:55,080
Like it helps them to help you basically,
360
00:19:55,080 --> 00:19:58,120
helps them to help your clients, that's it.
361
00:19:58,120 --> 00:20:04,600
- And yeah, when I think a little bit about,
362
00:20:04,600 --> 00:20:09,360
you're a long time in these power pages,
363
00:20:09,360 --> 00:20:13,200
how have the power pages evolved over the last years?
364
00:20:13,200 --> 00:20:17,880
- Yeah, I think over the last years,
365
00:20:17,880 --> 00:20:20,040
the bigger improvements that we had initially
366
00:20:20,040 --> 00:20:21,760
power pages wasn't solution-aware,
367
00:20:21,760 --> 00:20:25,160
so now they can be part of solutions
368
00:20:25,160 --> 00:20:28,640
and leverage all the new governance benefits
369
00:20:28,640 --> 00:20:30,320
of Power Platform, like the,
370
00:20:30,320 --> 00:20:34,040
I can say the Power Platform pipelines
371
00:20:34,040 --> 00:20:37,160
and all governance stuff that we have,
372
00:20:37,160 --> 00:20:40,760
environment variables and some minor things,
373
00:20:40,760 --> 00:20:44,640
but I think now as well, this is very recent,
374
00:20:44,640 --> 00:20:47,480
I think there's been a huge investment
375
00:20:47,480 --> 00:20:51,720
on a few pro-code items in Power Pages,
376
00:20:51,720 --> 00:20:54,840
so for example, now there's server logic,
377
00:20:54,840 --> 00:20:57,240
that is basically similar to what you do
378
00:20:57,240 --> 00:20:59,400
with Azure Functions, you can create your server
379
00:20:59,400 --> 00:21:03,400
logics in Power Pages, code that runs on the server sides,
380
00:21:03,400 --> 00:21:06,400
that can interact with external services,
381
00:21:06,400 --> 00:21:09,960
Azure Functions or other APIs you have
382
00:21:09,960 --> 00:21:13,360
without exposing client secrets and exposing our logic
383
00:21:13,360 --> 00:21:15,400
on JavaScript.
384
00:21:15,400 --> 00:21:17,520
There's also an annual type of website
385
00:21:17,520 --> 00:21:21,200
that's the SPA website, so basically,
386
00:21:21,200 --> 00:21:24,640
you will be building a Power Pages website
387
00:21:24,640 --> 00:21:28,640
using React or Angular, so instead of building a website,
388
00:21:28,640 --> 00:21:32,800
using web templates and configuring everything from scratch,
389
00:21:32,800 --> 00:21:34,800
like we used to do with the standard portals,
390
00:21:34,800 --> 00:21:38,640
you can simply create a portal using those languages
391
00:21:38,640 --> 00:21:41,400
and they interact with Power Pages using the web APIs,
392
00:21:41,400 --> 00:21:44,000
and you simply need to do configuration stuff,
393
00:21:44,000 --> 00:21:47,480
like configure table permissions, the roles and et cetera.
394
00:21:47,480 --> 00:21:52,480
And I think that type of portal is a big update,
395
00:21:52,480 --> 00:21:56,120
a big improvement for the platform,
396
00:21:56,120 --> 00:21:58,880
because of two things, it brings more developers
397
00:21:58,880 --> 00:22:00,640
to work with the Power Platform,
398
00:22:00,640 --> 00:22:04,280
because previously, if you wanted to create the pages
399
00:22:04,280 --> 00:22:07,200
and the Power Pages, you need to understand the liquid language
400
00:22:07,200 --> 00:22:10,240
that it's a language created by Shopify
401
00:22:10,240 --> 00:22:13,640
that not all the developers know, and sometimes they hate it,
402
00:22:13,640 --> 00:22:19,720
it was a bit more convoluted how we create the JavaScript files
403
00:22:19,720 --> 00:22:24,440
and everything, and now it will be just a single web
404
00:22:24,440 --> 00:22:27,000
from the end project, where devs can work
405
00:22:27,000 --> 00:22:29,920
as if they worked in React or Angular,
406
00:22:29,920 --> 00:22:31,800
just simply files life, I think.
407
00:22:31,800 --> 00:22:33,720
And also, you can use yellow limbs now,
408
00:22:33,720 --> 00:22:36,560
so for example, there's a cloud plugin
409
00:22:36,560 --> 00:22:41,560
to create the SBA website, so instead of creating everything
410
00:22:41,560 --> 00:22:44,360
from scratch, you can describe it,
411
00:22:44,360 --> 00:22:47,720
and then AI creates a version of the website for you,
412
00:22:47,720 --> 00:22:51,040
and then you simply tweak if something is needed.
413
00:22:51,040 --> 00:22:53,680
I think it's going in the right direction.
414
00:22:53,680 --> 00:22:58,000
- It's then similar to Power Apps Code Apps,
415
00:22:58,000 --> 00:22:59,600
or how do you work?
416
00:22:59,600 --> 00:23:03,680
- It's the same, it's just a different platform,
417
00:23:03,680 --> 00:23:06,120
but it works very similar.
418
00:23:06,120 --> 00:23:07,760
- Okay. - Yeah.
419
00:23:07,760 --> 00:23:12,760
- And what did you think, how looks the future for Power Pages?
420
00:23:12,760 --> 00:23:18,680
- I think the day people will build only the new type of app,
421
00:23:18,680 --> 00:23:22,920
the SBA apps, same way as I said for Power Apps,
422
00:23:22,920 --> 00:23:27,920
as well, I think that's gonna be ramping up very quickly,
423
00:23:27,920 --> 00:23:28,920
in my opinion.
424
00:23:30,600 --> 00:23:35,000
If we follow the trend of people using AI agents
425
00:23:35,000 --> 00:23:39,320
to build apps, those two apps are the best ones
426
00:23:39,320 --> 00:23:41,560
to build it in AI anyway.
427
00:23:41,560 --> 00:23:46,600
- Another topic you're also in, it's a security topic.
428
00:23:46,600 --> 00:23:47,760
- Yeah.
429
00:23:47,760 --> 00:23:51,560
- Why is it important for Power Pages developers
430
00:23:51,560 --> 00:23:52,960
or Power App developers?
431
00:23:52,960 --> 00:23:56,040
- Yeah, I think I'm more,
432
00:23:56,040 --> 00:23:59,720
I used to post more or talk more about
433
00:23:59,720 --> 00:24:02,960
Power Pages security in Power Apps, to be honest,
434
00:24:02,960 --> 00:24:07,520
because I noticed when I did a few presentations on the topic,
435
00:24:07,520 --> 00:24:10,880
I noticed a few developers around that they were a bit unaware
436
00:24:10,880 --> 00:24:16,040
of some, not constraints, how can I say some vulnerabilities
437
00:24:16,040 --> 00:24:20,160
that you can bring, if you are not aware of how client side
438
00:24:20,160 --> 00:24:24,360
code in works and what you can expose or not with code,
439
00:24:24,360 --> 00:24:26,520
because sometimes even that concept of, okay,
440
00:24:26,520 --> 00:24:29,360
that's everything low code, bring up you want to build a site,
441
00:24:29,360 --> 00:24:31,320
bring up you want to build an app,
442
00:24:31,320 --> 00:24:33,040
I think it's fine if it's an internal let,
443
00:24:33,040 --> 00:24:36,160
maybe people misconfigure something on the dataverse,
444
00:24:36,160 --> 00:24:38,240
it's gonna be exposing.
445
00:24:38,240 --> 00:24:42,880
Generally, it's a problem, but it's not a problem
446
00:24:42,880 --> 00:24:46,440
as big as if you expose that to external people.
447
00:24:46,440 --> 00:24:50,760
So for example, I know it's not the right approach,
448
00:24:50,760 --> 00:24:53,000
but okay, you see cases around that people
449
00:24:53,000 --> 00:24:56,920
instead of tricking proper security roles on the dataverse,
450
00:24:56,920 --> 00:25:01,560
they simply hide the data in a canvas app with filters,
451
00:25:01,560 --> 00:25:03,760
which is not the right approach, okay?
452
00:25:03,760 --> 00:25:06,000
But if the user's not able to save it,
453
00:25:06,000 --> 00:25:08,560
they won't be fighting it in your company.
454
00:25:08,560 --> 00:25:10,720
Okay, it's a problem you need to map,
455
00:25:10,720 --> 00:25:14,000
but if someone can access it,
456
00:25:14,000 --> 00:25:15,320
it's gonna be someone internal,
457
00:25:15,320 --> 00:25:18,120
it's not gonna be all the world accessing it.
458
00:25:18,120 --> 00:25:20,440
In new part pages, if you have a public website,
459
00:25:20,440 --> 00:25:23,920
if you, for example, set permissions of a table to be global,
460
00:25:23,920 --> 00:25:28,000
everyone with a login figure website can access the data
461
00:25:28,000 --> 00:25:29,040
of that table.
462
00:25:29,040 --> 00:25:32,120
And if that table is enabled with a web API
463
00:25:32,120 --> 00:25:36,400
and the developer doesn't know how to correctly
464
00:25:36,400 --> 00:25:39,600
configure permissions like, as if they put it as global,
465
00:25:39,600 --> 00:25:43,280
everyone can access the data if they simply guess
466
00:25:43,280 --> 00:25:46,800
the address of the table and point
467
00:25:46,800 --> 00:25:50,400
and do some old data queries, you know?
468
00:25:50,400 --> 00:25:53,680
It's very easy to find, but if you configure properly,
469
00:25:53,680 --> 00:25:56,760
the users will see only the records they should have access
470
00:25:56,760 --> 00:25:58,560
to see, modify, whatever.
471
00:25:58,560 --> 00:26:02,800
I just thought there was a bit of lack of awareness
472
00:26:02,800 --> 00:26:05,160
in the less experienced developers,
473
00:26:05,160 --> 00:26:07,760
so I just, I thought it would be beneficial
474
00:26:07,760 --> 00:26:11,120
to be talking about it and writing articles
475
00:26:11,120 --> 00:26:13,360
and posts about it, basically,
476
00:26:13,360 --> 00:26:15,760
just to bring awareness of what are the features,
477
00:26:15,760 --> 00:26:18,440
what you should be paying attention to, you know?
478
00:26:18,440 --> 00:26:22,440
- Okay, and can you, yeah, for people,
479
00:26:22,440 --> 00:26:27,080
they are not familiar with web API,
480
00:26:27,080 --> 00:26:31,360
can you a little bit explain what is this and how do we...
481
00:26:31,360 --> 00:26:34,280
- Yeah, so basic web APIs and interface,
482
00:26:34,280 --> 00:26:38,760
you can use to access data for data via JavaScript,
483
00:26:38,760 --> 00:26:43,200
but everything that you will use JavaScript to call
484
00:26:43,200 --> 00:26:45,120
runs on your browser.
485
00:26:45,120 --> 00:26:48,840
So basically, when you enable those web API endpoints
486
00:26:48,840 --> 00:26:53,840
of people to update data, to read data in your website,
487
00:26:53,840 --> 00:26:58,160
you need to be very careful on what you enable or not,
488
00:26:58,160 --> 00:27:02,160
because if you enable, if you are not careful,
489
00:27:02,160 --> 00:27:03,600
then what can I say?
490
00:27:03,600 --> 00:27:07,320
You can, you can expose fields, you shouldn't expose,
491
00:27:07,320 --> 00:27:12,320
you can expose items, you shouldn't be exposing publicly,
492
00:27:12,320 --> 00:27:15,800
but if you configure permissions properly
493
00:27:15,800 --> 00:27:18,760
and you enable strictly what needs to be enabled,
494
00:27:18,760 --> 00:27:21,520
then your users would see exactly what they need to see.
495
00:27:21,520 --> 00:27:25,120
So it's a way they can interact with dataverse programmatically
496
00:27:25,120 --> 00:27:27,920
via JavaScript, but you need to be very careful
497
00:27:27,920 --> 00:27:30,960
because if the users can interact with,
498
00:27:30,960 --> 00:27:33,960
like if JavaScript can interact with a web API,
499
00:27:33,960 --> 00:27:37,640
anyone opening developer tools in Chrome can do the same.
500
00:27:37,640 --> 00:27:41,960
So if they via JavaScript can access data that they shouldn't,
501
00:27:41,960 --> 00:27:43,360
that's a problem, you know?
502
00:27:43,360 --> 00:27:45,280
(laughs)
503
00:27:45,280 --> 00:27:50,080
And how did we secure, yeah, there's web API?
504
00:27:50,080 --> 00:27:55,240
- You can enable, there's three things you can do.
505
00:27:55,240 --> 00:27:59,200
Limit the fields, you enable the web API.
506
00:27:59,200 --> 00:28:03,120
So by default, no table is enabled on the web API.
507
00:28:03,120 --> 00:28:05,840
Then you enable a table on the web API,
508
00:28:05,840 --> 00:28:10,160
but you can only enable certain fields, point number one.
509
00:28:10,160 --> 00:28:14,000
Then you can also put table permissions on that way.
510
00:28:14,000 --> 00:28:18,320
You have to put table permissions on that table anyway.
511
00:28:18,320 --> 00:28:21,560
So what's gonna happen is when you put table permissions,
512
00:28:21,560 --> 00:28:26,560
you can specify if the user has global access in the table,
513
00:28:26,560 --> 00:28:30,280
they have account access or contact access.
514
00:28:30,280 --> 00:28:32,160
So if they have contact access,
515
00:28:32,160 --> 00:28:36,800
they only have access to the records assigned to their contacts.
516
00:28:36,800 --> 00:28:40,480
They cannot see or modify records made by other people
517
00:28:40,480 --> 00:28:41,560
if they shouldn't.
518
00:28:41,560 --> 00:28:44,680
When you put account level, it's to the accounts
519
00:28:44,680 --> 00:28:46,880
that they're contacted styles to.
520
00:28:46,880 --> 00:28:51,400
Then you can be tweaking the relationships to make that work
521
00:28:51,400 --> 00:28:53,360
the way you want, but just bear in mind,
522
00:28:53,360 --> 00:28:56,640
there has to be a relationship to the account
523
00:28:56,640 --> 00:28:58,480
or the contact of the user.
524
00:28:58,480 --> 00:29:02,920
And the other thing you can do is you can configure also
525
00:29:02,920 --> 00:29:05,040
the column permissions.
526
00:29:05,040 --> 00:29:06,880
So you can put column permissions in the table.
527
00:29:06,880 --> 00:29:10,560
So for example, you have a table where you need to enable
528
00:29:10,560 --> 00:29:14,400
10 fields of the table in the web API,
529
00:29:14,400 --> 00:29:18,280
but the users should be able to update only five of them.
530
00:29:18,280 --> 00:29:19,280
You can do it.
531
00:29:19,280 --> 00:29:22,880
So I can create column security profiles where you say,
532
00:29:22,880 --> 00:29:27,560
hey, all the fields should be enabled for read
533
00:29:27,560 --> 00:29:32,960
except those five fields, they should be enabled
534
00:29:32,960 --> 00:29:34,800
for data and create as well.
535
00:29:34,800 --> 00:29:38,840
And there you go, or even remove values and things like that.
536
00:29:38,840 --> 00:29:43,840
And in terms of the web API, that's the critical bits,
537
00:29:43,840 --> 00:29:49,840
I'd say, it's very mind like if the users can access it,
538
00:29:49,840 --> 00:29:54,920
if JavaScript can access it, anyone with the permissions
539
00:29:54,920 --> 00:29:58,720
could access it by developer tools.
540
00:29:58,720 --> 00:30:02,840
If they don't have access to the record, that's fine.
541
00:30:02,840 --> 00:30:04,480
If the permissions are set correctly,
542
00:30:04,480 --> 00:30:05,840
nothing bad is gonna happen.
543
00:30:07,600 --> 00:30:10,360
So there's that you have to look at,
544
00:30:10,360 --> 00:30:15,280
attackers cannot, yeah, say, inject,
545
00:30:15,280 --> 00:30:16,480
check or something.
546
00:30:16,480 --> 00:30:20,760
I think that's it's, yeah, it's all about only
547
00:30:20,760 --> 00:30:24,480
what happens, it's a little bit more even than internal.
548
00:30:24,480 --> 00:30:32,120
But how will you say, did you balance between usability,
549
00:30:32,120 --> 00:30:33,320
security,
550
00:30:35,520 --> 00:30:38,440
when you develop and power, power pay?
551
00:30:38,440 --> 00:30:45,400
- It's hard to say because at the end,
552
00:30:45,400 --> 00:30:48,960
they I think we need to do some audits in terms of security.
553
00:30:48,960 --> 00:30:51,120
Even if the portal is usable, I think,
554
00:30:51,120 --> 00:30:53,920
before going live, we have to do like a penetration testing
555
00:30:53,920 --> 00:30:57,120
to find if there's any gap in security.
556
00:30:57,120 --> 00:31:01,920
There's also a power pages, the security agent,
557
00:31:01,920 --> 00:31:06,920
there's the security reports that the product itself
558
00:31:06,920 --> 00:31:10,000
shows something that you should be configuring.
559
00:31:10,000 --> 00:31:13,680
Everything I said, for example,
560
00:31:13,680 --> 00:31:17,400
this thing of having a table with global permissions,
561
00:31:17,400 --> 00:31:20,080
you can get some audits on top of that as well,
562
00:31:20,080 --> 00:31:23,880
and then you need to petition to all those audits flag you
563
00:31:23,880 --> 00:31:25,960
and fix it.
564
00:31:25,960 --> 00:31:28,880
But in terms of balancing your line security,
565
00:31:28,880 --> 00:31:33,640
I don't think one affects the other thing, essentially.
566
00:31:33,640 --> 00:31:37,640
It just before you put aside life,
567
00:31:37,640 --> 00:31:40,400
do those checks, do the audits, run a pentase as well,
568
00:31:40,400 --> 00:31:42,960
and fix, but the thing is,
569
00:31:42,960 --> 00:31:47,440
if the developer has everything I said in mind at first,
570
00:31:47,440 --> 00:31:49,760
there's gonna be less problems when that moment comes
571
00:31:49,760 --> 00:31:53,160
before all life, because you put everything with that in mind,
572
00:31:53,160 --> 00:31:55,480
so less things to adjust to.
573
00:31:56,600 --> 00:32:01,160
And did you see, say, we have we new risk,
574
00:32:01,160 --> 00:32:04,520
especially through co-pilot or AI,
575
00:32:04,520 --> 00:32:07,160
is there a new threat actually?
576
00:32:07,160 --> 00:32:14,240
- To be honest with you, I am not aware
577
00:32:14,240 --> 00:32:16,200
why things are of prompting jacks,
578
00:32:16,200 --> 00:32:19,880
and things like that, I didn't check too much.
579
00:32:19,880 --> 00:32:20,720
Yeah.
580
00:32:20,720 --> 00:32:25,120
- Yeah, and we will say,
581
00:32:25,120 --> 00:32:27,800
when we take about the top AI topic,
582
00:32:27,800 --> 00:32:31,800
how did you find, how has it changed the world,
583
00:32:31,800 --> 00:32:35,360
power platform experience for you?
584
00:32:35,360 --> 00:32:36,440
What would you say?
585
00:32:36,440 --> 00:32:40,960
- Well, I think it's just, for example,
586
00:32:40,960 --> 00:32:43,640
the speeds up doing bug fixes
587
00:32:43,640 --> 00:32:47,960
or creating prototypes, basically.
588
00:32:47,960 --> 00:32:51,000
I'm saying about just to help co-pilot, basically.
589
00:32:52,400 --> 00:32:55,720
Because I think like GitHub, co-pilot, or cloud is what people
590
00:32:55,720 --> 00:32:57,640
are using to build the apps.
591
00:32:57,640 --> 00:32:58,840
Spades up a few things.
592
00:32:58,840 --> 00:33:04,280
Obviously, I think it works best to fix small bugs
593
00:33:04,280 --> 00:33:05,680
or maybe creating something new
594
00:33:05,680 --> 00:33:09,720
and always issue interact with existing apps.
595
00:33:09,720 --> 00:33:13,680
It's a bit, the results are a bit unpredictable.
596
00:33:13,680 --> 00:33:15,600
You need to be watching out,
597
00:33:15,600 --> 00:33:18,240
but at least it helps in terms of generating proof of concepts
598
00:33:18,240 --> 00:33:22,320
and small bug fixes, that's what I see so far.
599
00:33:22,320 --> 00:33:24,880
- Yeah, a lot of people say,
600
00:33:24,880 --> 00:33:27,080
"I will replace developers."
601
00:33:27,080 --> 00:33:30,360
Did you think that will happen
602
00:33:30,360 --> 00:33:33,920
or do the role only change?
603
00:33:33,920 --> 00:33:38,920
- No, I don't think AI will replace developers.
604
00:33:38,920 --> 00:33:42,240
AI can replace developers that don't use AI.
605
00:33:42,240 --> 00:33:47,760
Because like, I'm not saying you should build everything
606
00:33:47,760 --> 00:33:49,880
with AI, but for a few bits, you can,
607
00:33:49,880 --> 00:33:54,040
you definitely will have to speed up the process.
608
00:33:54,040 --> 00:33:57,880
So for example, like I said, maybe some small bug fixes,
609
00:33:57,880 --> 00:34:00,840
creating prototypes and creating proof of concepts,
610
00:34:00,840 --> 00:34:02,760
at least, I think that's not a toy.
611
00:34:02,760 --> 00:34:06,120
There's no point on validating if something works or not
612
00:34:06,120 --> 00:34:07,680
and you have to build everything from scratch
613
00:34:07,680 --> 00:34:09,800
when you can SKI to build it for you quickly
614
00:34:09,800 --> 00:34:13,040
and you just see how it behaves.
615
00:34:13,040 --> 00:34:17,800
But I think like how those agitals are evolving,
616
00:34:17,800 --> 00:34:20,920
that's gonna be only increasing,
617
00:34:20,920 --> 00:34:24,680
even for the building bigger applications and so far.
618
00:34:24,680 --> 00:34:28,600
There's always gonna be a human interaction with it
619
00:34:28,600 --> 00:34:33,600
or a need of reviewing the apps that are developed.
620
00:34:33,600 --> 00:34:35,400
And it's funny enough, as well,
621
00:34:35,400 --> 00:34:37,760
the trend we are seeing in the recent tweaks
622
00:34:37,760 --> 00:34:40,880
that companies are starting to evaluate
623
00:34:40,880 --> 00:34:46,400
the benefits of building apps with AI versus the consumption
624
00:34:46,400 --> 00:34:49,880
and money spent with tokens and everything because,
625
00:34:49,880 --> 00:34:55,680
I think there's a big hype with it and how can I say,
626
00:34:55,680 --> 00:35:00,520
the best developers will be the ones that use it
627
00:35:00,520 --> 00:35:04,200
when it's really needed and with the less consumption
628
00:35:04,200 --> 00:35:05,280
as possible.
629
00:35:05,280 --> 00:35:08,000
Like they know how to prompt the prompt correctly
630
00:35:08,000 --> 00:35:11,640
and bring the best outputs for the companies.
631
00:35:11,640 --> 00:35:14,480
Because it's really easy to start asking a lot of things
632
00:35:14,480 --> 00:35:16,720
and burn a lot of tokens and don't get,
633
00:35:16,720 --> 00:35:19,880
like you can build an app, but maybe you build an app,
634
00:35:19,880 --> 00:35:22,720
but what was the impact of that app?
635
00:35:22,720 --> 00:35:24,640
Like you just burn tokens for knocking
636
00:35:24,640 --> 00:35:27,760
or did it really make a difference?
637
00:35:27,760 --> 00:35:34,280
- Yeah, I think there was things in meme,
638
00:35:35,360 --> 00:35:40,360
where stands the developer costs, costs, I don't know,
639
00:35:40,360 --> 00:35:47,960
$68,000 and then per year and then the other side shows,
640
00:35:47,960 --> 00:35:52,480
tokens spend one month, 300,000.
641
00:35:52,480 --> 00:35:58,440
So, take it, if the developer gets a bit job-making.
642
00:35:58,440 --> 00:36:03,760
Yeah, but you are also, yeah, in Microsoft MVP.
643
00:36:04,360 --> 00:36:08,000
So, it's, yeah, I say, community award.
644
00:36:08,000 --> 00:36:12,720
What did you do especially in the community?
645
00:36:12,720 --> 00:36:13,920
What's your community work?
646
00:36:13,920 --> 00:36:18,680
- I started when I got to be awarded,
647
00:36:18,680 --> 00:36:21,960
was really, it was doing pandemic,
648
00:36:21,960 --> 00:36:24,560
post-pandemic times for COVID.
649
00:36:24,560 --> 00:36:29,200
So, I had a friend that, he was an MVP at that time
650
00:36:29,200 --> 00:36:32,160
and he had a blog and he was motivating me to write more
651
00:36:32,160 --> 00:36:35,600
than I started to write more for my blog.
652
00:36:35,600 --> 00:36:38,760
I did a few presentations as well,
653
00:36:38,760 --> 00:36:42,040
like a few sessions, conferences,
654
00:36:42,040 --> 00:36:44,800
there was a few at that point,
655
00:36:44,800 --> 00:36:48,520
I used to contribute to the Microsoft PNP,
656
00:36:48,520 --> 00:36:51,320
Microsoft 365 PNP,
657
00:36:51,320 --> 00:36:55,120
so there was a GitHub repo with part-platform samples
658
00:36:55,120 --> 00:36:56,880
and SharePoint list formatting samples,
659
00:36:56,880 --> 00:36:59,440
I used to contribute with that as well.
660
00:36:59,440 --> 00:37:03,600
And then slowly, my main focus now is,
661
00:37:03,600 --> 00:37:06,560
write the blogs, present them conferences,
662
00:37:06,560 --> 00:37:09,520
sometimes I put a few samples on GitHub as well.
663
00:37:09,520 --> 00:37:13,320
But yeah, I think many of the blogs and a few conferences.
664
00:37:13,320 --> 00:37:16,480
- That's the, and also been active on social media,
665
00:37:16,480 --> 00:37:20,200
like posting updates or any tips or anything.
666
00:37:20,200 --> 00:37:24,720
- I think all the information puts in the show notes
667
00:37:24,720 --> 00:37:25,920
with all the links.
668
00:37:25,920 --> 00:37:30,320
And then what advice would you give someone
669
00:37:30,320 --> 00:37:33,000
who will start with power platform journey today?
670
00:37:33,000 --> 00:37:38,240
- Let me think.
671
00:37:38,240 --> 00:37:44,480
Honestly, but it's not only today,
672
00:37:44,480 --> 00:37:45,840
I think sometimes like today,
673
00:37:45,840 --> 00:37:48,920
I think the certification paths changed a little bit,
674
00:37:48,920 --> 00:37:51,320
but I just always thought that,
675
00:37:51,320 --> 00:37:52,560
I know it's just a credential,
676
00:37:52,560 --> 00:37:54,520
but if you don't know where to be in,
677
00:37:54,520 --> 00:37:58,640
get a certification learning path and study that,
678
00:37:58,640 --> 00:38:01,840
or try to get the certificate for two reasons,
679
00:38:01,840 --> 00:38:03,720
because it gives you a learning path to follow
680
00:38:03,720 --> 00:38:06,200
and you get exposure of all the features,
681
00:38:06,200 --> 00:38:08,400
you understand more or less how it works,
682
00:38:08,400 --> 00:38:12,320
and you also get credentials to help your CV,
683
00:38:12,320 --> 00:38:13,520
you wanna find a job.
684
00:38:13,520 --> 00:38:16,280
So I think that's a way to go.
685
00:38:16,280 --> 00:38:21,440
Sometimes even if you start working with a power platform
686
00:38:21,440 --> 00:38:23,080
by yourself, not only a power platform,
687
00:38:23,080 --> 00:38:25,280
but any Microsoft related technology,
688
00:38:25,280 --> 00:38:29,800
you probably will be touching only the features
689
00:38:29,800 --> 00:38:33,760
that you are requested to work with at your job.
690
00:38:33,760 --> 00:38:37,280
So if you get a certification or a learning path,
691
00:38:37,280 --> 00:38:38,840
it's good at least you get the awareness
692
00:38:38,840 --> 00:38:41,400
of what you can do with the platform
693
00:38:41,400 --> 00:38:43,080
and what you can do,
694
00:38:43,080 --> 00:38:45,680
and that gives you more room to grow.
695
00:38:45,680 --> 00:38:49,080
So even if you are not very proficient with a feature,
696
00:38:49,080 --> 00:38:50,480
when you have a problem, you know,
697
00:38:50,480 --> 00:38:53,640
hey, maybe that could help me to solve this problem.
698
00:38:53,640 --> 00:38:56,200
And you can start playing around and learning more, you know?
699
00:38:56,200 --> 00:39:02,880
- Yeah, and all sessions, I do a quick fire round.
700
00:39:02,880 --> 00:39:08,120
So I give you a consentence and you say,
701
00:39:08,120 --> 00:39:09,680
what comes in your mind.
702
00:39:09,680 --> 00:39:11,600
So yeah,
703
00:39:11,600 --> 00:39:16,640
power apps or power pages?
704
00:39:17,920 --> 00:39:20,360
- I'd say power apps because it's,
705
00:39:20,360 --> 00:39:25,640
that's what gives more impact to people
706
00:39:25,640 --> 00:39:27,080
because power pages is very good,
707
00:39:27,080 --> 00:39:29,320
but it has a very niche use case.
708
00:39:29,320 --> 00:39:33,200
Okay, that's because I'm thinking about impact and usage overall.
709
00:39:33,200 --> 00:39:38,600
- What's better SharePoint, classic or SharePoint?
710
00:39:38,600 --> 00:39:39,800
- Modern SharePoint.
711
00:39:39,800 --> 00:39:42,440
- Calmances or model driven apps?
712
00:39:42,440 --> 00:39:45,200
- Model driven apps.
713
00:39:46,560 --> 00:39:49,960
- Data, data was on that RSQL.
714
00:39:49,960 --> 00:39:56,080
- He depends, I have to say data was because I work more
715
00:39:56,080 --> 00:40:00,320
with the power platform, but yeah, each one has its benefits.
716
00:40:00,320 --> 00:40:05,520
- What's your favorite JavaScript or C#?
717
00:40:05,520 --> 00:40:09,360
- To be honest, I don't have a favorite.
718
00:40:09,360 --> 00:40:11,080
I liked program with both.
719
00:40:15,120 --> 00:40:18,160
If Microsoft give you the control over the power platform
720
00:40:18,160 --> 00:40:21,440
roadmap for one day, what's the first feature you add
721
00:40:21,440 --> 00:40:23,880
and what's the first thing you will need?
722
00:40:23,880 --> 00:40:27,320
- First feature, I would, I would add,
723
00:40:27,320 --> 00:40:30,560
I would improve how multi-developer story works
724
00:40:30,560 --> 00:40:33,880
with power pages because it's always a bit tricky.
725
00:40:33,880 --> 00:40:36,880
And the other one is the first feature I would,
726
00:40:36,880 --> 00:40:39,120
I would need are,
727
00:40:44,320 --> 00:40:47,400
I don't know, like I think both answers are the same.
728
00:40:47,400 --> 00:40:50,640
I would just put more effort on improving multi-developer
729
00:40:50,640 --> 00:40:52,000
story within power pages.
730
00:40:52,000 --> 00:40:55,560
I think it's improving overall, but could be better.
731
00:40:55,560 --> 00:41:00,760
- Yeah, solution architect or developer?
732
00:41:00,760 --> 00:41:05,480
- Solution architect.
733
00:41:05,480 --> 00:41:07,160
- Co-pilot or manual coding?
734
00:41:07,160 --> 00:41:10,880
- So a copilot or manual coding?
735
00:41:10,880 --> 00:41:12,360
Honestly, I prefer manual coding.
736
00:41:12,360 --> 00:41:13,840
You can do I use copilot first of all.
737
00:41:13,840 --> 00:41:16,760
I have more fun if I have problems to solve myself.
738
00:41:16,760 --> 00:41:20,320
- Dark mode or light mode?
739
00:41:20,320 --> 00:41:22,160
- Dark mode.
740
00:41:22,160 --> 00:41:25,560
- Remote work or office work?
741
00:41:25,560 --> 00:41:27,320
- Remote work.
742
00:41:27,320 --> 00:41:29,520
- Microsoft build or Microsoft unite?
743
00:41:29,520 --> 00:41:31,960
- Microsoft build.
744
00:41:31,960 --> 00:41:36,120
- Coffee, tea or energy during development?
745
00:41:36,120 --> 00:41:37,360
- Coffee.
746
00:41:37,360 --> 00:41:38,840
- And I'm addicted to coffee.
747
00:41:38,840 --> 00:41:42,360
- Brazil or island?
748
00:41:43,360 --> 00:41:46,920
- I have to say Brazil even though I live in Ireland
749
00:41:46,920 --> 00:41:48,680
because it's my home country.
750
00:41:48,680 --> 00:41:55,120
- Yeah, if you stranded on the desert island
751
00:41:55,120 --> 00:41:56,480
with internet access,
752
00:41:56,480 --> 00:42:00,200
but you only can use one Microsoft product forever.
753
00:42:00,200 --> 00:42:01,680
What do you choose?
754
00:42:01,680 --> 00:42:02,520
- Bye.
755
00:42:02,520 --> 00:42:06,000
- Little question.
756
00:42:06,000 --> 00:42:11,200
- My God, man.
757
00:42:12,200 --> 00:42:15,320
- They won't drive, won't drive because if I'm on internet,
758
00:42:15,320 --> 00:42:17,440
if I'm on a stranded island,
759
00:42:17,440 --> 00:42:19,520
I just want to won drive to save my pictures
760
00:42:19,520 --> 00:42:20,840
and personal stuff.
761
00:42:20,840 --> 00:42:22,680
I'm gonna be caring about work.
762
00:42:22,680 --> 00:42:31,520
- Yeah, and yeah, my last question, our final question is,
763
00:42:31,520 --> 00:42:34,800
when people think about, yeah, the session today,
764
00:42:34,800 --> 00:42:38,360
what's the one piece they took with them?
765
00:42:39,360 --> 00:42:44,360
- I think just they see that a person can maybe shift
766
00:42:44,360 --> 00:42:49,280
the career in different paths as I did,
767
00:42:49,280 --> 00:42:52,880
like from the SharePoint to parapsed the parapages.
768
00:42:52,880 --> 00:42:55,760
And also the explanation about importance
769
00:42:55,760 --> 00:42:57,440
of security in parapages as well,
770
00:42:57,440 --> 00:43:01,400
because I just think it's important to bring awareness
771
00:43:01,400 --> 00:43:04,200
to people and like the questions you made,
772
00:43:04,200 --> 00:43:08,280
it helped me to try to explain the importance
773
00:43:08,280 --> 00:43:09,960
of it, that's it.
774
00:43:09,960 --> 00:43:14,960
- Yeah, yeah, then, yeah, thank you for this fantastic conversation.
775
00:43:14,960 --> 00:43:20,280
Yeah, and all your insight about power platform architecture,
776
00:43:20,280 --> 00:43:22,360
power pages security, pro code, custom action,
777
00:43:22,360 --> 00:43:25,280
and yeah, the evolution of traditional development
778
00:43:25,280 --> 00:43:27,440
to modern business applications.
779
00:43:27,440 --> 00:43:31,760
Yeah, I think one of the key takeaways for me
780
00:43:31,760 --> 00:43:33,440
is that successful power platforms
781
00:43:33,440 --> 00:43:36,400
that are just about building quickly,
782
00:43:36,400 --> 00:43:38,900
they are designing security, scalable,
783
00:43:38,900 --> 00:43:41,200
powerful and creating experience
784
00:43:41,200 --> 00:43:43,520
that deliver a long-term value.
785
00:43:43,520 --> 00:43:44,600
And yeah, thank you.
786
00:43:44,600 --> 00:43:47,120
I hope you have enjoyed this episode.
787
00:43:47,120 --> 00:43:48,440
And yeah, I did.
788
00:43:48,440 --> 00:43:49,440
- It was great.
789
00:43:49,440 --> 00:43:53,080
As soon as possible.
790
00:43:53,080 --> 00:43:54,320
- Thank you for inviting me.
791
00:43:54,320 --> 00:43:55,160
It was a pleasure.
792
00:43:55,160 --> 00:43:57,320
- Thank you.
793
00:43:57,320 --> 00:43:59,080
Bye, have a nice day.
794
00:43:59,080 --> 00:44:00,160
- Bye, good to you.
795
00:44:00,160 --> 00:44:10,160
[BLANK_AUDIO]









