cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
PeterCBell_au
Helper III
Helper III

Components |Functions |June Expermental |Breaks Code Libs created using components

Creating Canvas Powerapps.

I have a number of components with properties and parameters that interact (eg. date functions specific to my industry) .

 

I used component output properties to provide functions and those properties used other properties (passing parameters) within the same component. ie. FuncA with parameters a and b may call Func1 and Func2.  (eg. property FuncA returns Self.Func1(a,b) * Self.Func2(b) + Self.Func3(a) etc.)

 

The new restriction means that a data output doesnt have parameters and may only reference the controls on the component (ie. not suitable for general purpose calculations)  --> Any of my outputs (that were emulating an output function) that referenced other properties in the same component are now broken.

 

The output functions may only perform calculations using their own parameters and cannot call other functions in the component.

 

So... How do I build a base library of functions that can be called by other functions?

 

Previous documentation suggested 'user defined functions' defined in the app formulas section would be coming, and would be of the form... 

                      udfTest(par1:Number , par2:Number, par3:Number):Number=  (par1*par2)/par3
 
I was hoping that when this was released I could move code out of components and create a number of UDF procedures that were callable from within the app (and by components with app scope) and could call each other.
 
But trying to enter a udf (using the syntax above) fails. Have UDF's been implemented but using some other syntax??

 

Related to the above, I dont follow the documentation regarding input functions for components- how do I define a function in the app that has parameters that the input function can make a callback to (ie. a udf as mentioned above)? 

 

from... "learn.microsoft.com/en-au/power-apps/maker/canvas-apps/component-properties""

"The app could define the function expression to return $"{firstname} {lastname}" or it could choose to define an expression for $"{lastname}, {firstname}". The component can just call the function the app maker has provided, and use the returned string."

27 REPLIES 27

Thanks Joris. Code only components seemed to be working fine. The real issue was the kludginess of using the interface. More advanced users being able to download/upload plain text would ease my tasks (my organisation keeps me in powerapps studio) which i guess i was hoping udf's were going to bring to the table. 

The first wave of UDFs they will pretty much be like named formulas and how you define those. We're brainstorming on user experience after that, but that's what you should expect in the short-term.

Hi Joris

 Have you had any luck undoing the lock that was placed on component functions allowing parameters?

 I have a large project with a lot of base functions (which were working perfectly fine) awaiting restoration.

 If the functionality isnt going to be restored and UDF's arent being released until >= Sep 2023 then I will have to invest many man hours to work around the errors- It would be helpful for me to know one way or the other.

JorisdG
Power Apps
Power Apps

Functions calling functions will be rolling out in the next few weeks with regular schedule. Enabling data flow so we can allow state to be used inside functions is something we're reviewing. Work was done for UDFs to support data flow properly, and we're hoping to uptake this for the components already (i.e. before UDFs are released). I don't have a timeline yet, but I will keep this thread updated as we are actively looking into it.

Thanks Joris- I look forward to the fix being implemented and (hopefully) UDF's

qwertyuiop
Frequent Visitor

Hi Joris. I wanted to see if the UDF functionality will be released soon? I was looking and Wave 2 and saw it wasnt on the roadmap anymore. Is it possible to sign on as a tester? I was waiting for this functionality to help develop the next generation apps for my org.

Hi Joris,

 In the leadup to the release, might I make a few observations.

 The app formulas repository can contain quite a few formulas already, making navigation difficult and also spotting the little red squiggle difficult when there are errors (plus an error in one formula breaks dependent formulas). Transferring code from component libraries will exacerbate the issue.

 Perhaps a tree to the left listing the left side of each formula (formula name) with red text if a formula is in error and click a formula name navigates to the correct line in the editor? Also, if the app formulas editor allowed sections (section start indicated by a line beginning with a # and what follows is the section name, until end of code or new section start delimiter) would allow the formula names tree to have parent nodes as section names and children as formula names.

Occasionally, the editor can have trouble with errors and deciding when to reset its error parsing and labels 'clean' code as in error- sections would make it simpler for the parser to 'reset' after detecting errors.

 

Within the concept of reusable blocks; it would be great if custom components could be used within other components and that the base class for a component inherited a container.

JorisdG
Power Apps
Power Apps

@qwertyuiop UDFs are still actively being worked on. We hit a snag with the release wave notes but rest assured it's still in the works, just pushed out a little bit. Still expecting it in the next few months.

 

@PeterCBell_au some improvements are rolling out for performance of editing named formulas. We have several designs and plans for a better UX (based on the variables and collections pane) but it's not prioritized at this moment. I realize with UDFs going into the same property this will get larger and larger, but that will hopefully give us the momentum to prioritize the UX options.

Hello @JorisdG 
I have to say that I am a bit confused right now. 

Talk about implementing UDFs started last year, with a Pupblic Preview release in February then it was moved to September. Since then dead silence. Despite removing UDFs from the release plan (https://releaseplans.microsoft.com/en-US/?app=Power+Apps&status=new), but that's not whats confusing me. It's that in the german version of release plan UDFs are in "Try Now" with a public preview date for September....


The whole release planner is out of sync between the different languages. I don't know if you could do something about it but you might know the person who can fix this. 

I and I guess many others do heavily rely on the release planner to plan updates and publications of our apps.


JorisdG
Power Apps
Power Apps

Yes, we started on UDFs last year in the summer (with an intern). You can follow our actual Power Fx language work on Github under https://github.com/Microsoft/Power-Fx - all our language work is done wide open. You'll find after the initial work was done by our intern, we picked up the work around April to finish it as a language feature. What you can't see there is the work then needed to uptake it in Power Apps (how to edit, where to store, how to incorporate it into the analysis engine, etc.). We were planning for September, which we actually finished but we ended up having to take a dependency on another new feature (new analysis engine) that won't be out for another several weeks, unfortunately. Pushing the feature to the next wave somehow removed it everywhere which I'm not sure how or why that happened. You will still get an experimental preview of UDFs before the end of the year.

 

As for the issue with German or other language release plans not updating, I'm not exactly sure who to talk to but I will bring it up with my management and hopefully they can pass on that feedback to get it fixed!

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!      

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Community Roundup: A Look Back at Our Last 10 Tuesday Tips

As we continue to grow and learn together, it's important to reflect on the valuable insights we've shared. For today's #TuesdayTip, we're excited to take a moment to look back at the last 10 tips we've shared in case you missed any or want to revisit them. Thanks for your incredible support for this series--we're so glad it was able to help so many of you navigate your community experience!   Getting Started in the Community An overview of everything you need to know about navigating the community on one page!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Ranks and YOU Have you ever wondered how your fellow community members ascend the ranks within our community? We explain everything about ranks and how to achieve points so you can climb up in the rankings! Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Powering Up Your Community Profile Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile. Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Blogs--A Great Place to Start There's so much you'll discover in the Community Blogs, and we hope you'll check them out today!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Unlocking Community Achievements and Earning Badges Across the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. Check out some details on Community badges--and find out more in the detailed link at the end of the article! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Blogging in the Community Interested in blogging? Everything you need to know on writing blogs in our four communities! Get started blogging across the Power Platform communities today! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Subscriptions & Notifications We don't want you to miss a thing in the community! Read all about how to subscribe to sections of our forums and how to setup your notifications! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Getting Started with Private Messages & Macros Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Community User Groups Learn everything about being part of, starting, or leading a User Group in the Power Platform Community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Update Your Community Profile Today! Keep your community profile up to date which is essential for staying connected and engaged with the community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Thank you for being an integral part of our journey.   Here's to many more Tuesday Tips as we pave the way for a brighter, more connected future! As always, watch the News & Announcements for the next set of tips, coming soon!

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Top Solution Authors
Users online (2,535)