SharePoint and Power Platform related Stuff
Hi! I'm Ramesh Beerla, working as a Team Lead and passionate about developing automated solutions to customers. In this blog I will post some important articles which will be useful for fellow developers
Sunday, August 31, 2025
Key Limitations of Microsoft Power Automate (as of August 2025)
Monday, May 12, 2025
๐ก Must-Know PowerApps Functions for Building Powerful Apps
Microsoft PowerApps enables users to build custom business apps with minimal code. One of its core strengths is the rich set of built-in functions that can handle logic, data, user input, and more. Whether you’re a beginner or an experienced app maker, these functions are essential for building flexible, user-friendly applications.
In this post, we’ve grouped the most useful PowerApps functions into categories, so you can quickly find what you need for any scenario.
๐ Logic & Conditional Functions
These functions control decision-making within your app.
If(condition, trueResult, falseResult) – Basic IF logic.
Switch(expression, case1, result1, ..., defaultResult) – Simplifies multiple conditional paths.
IsBlank(value) – Checks if a field or variable is empty.
Coalesce(value1, value2, ...) – Returns the first non-blank value in a list.
Not(condition) – Inverts a Boolean value (true → false and vice versa).
๐ค Text Functions
Work with strings, user input, and formatted data.
Concatenate(text1, text2, ...) – Joins multiple text strings.
Text(value, format) – Formats numbers and dates as text.
Left(text, n) / Right(text, n) – Extracts characters from the start or end.
Mid(text, start, n) – Extracts a substring from the middle.
Len(text) – Returns the number of characters.
Lower(text) / Upper(text) – Converts to lowercase or uppercase.
Trim(text) – Removes extra whitespace.
Replace(text, start, count, newText) – Replaces part of a string.
๐ข Math Functions
Basic arithmetic and numerical operations.
Sum(table, column) – Totals values in a column.
Average(table, column) – Returns the average.
Round(number, decimalPlaces) – Rounds to a specific number of decimals.
Rand() – Returns a random number between 0 and 1.
Mod(number, divisor) – Gets the remainder after division.
๐ Date & Time Functions
Manipulate and format dates and times easily.
Now() – Current date and time.
Today() – Current date only.
DateValue("2025-05-11") – Converts a string to a date.
TimeValue("10:30 AM") – Converts a string to a time.
DateAdd(date, number, unit) – Adds days, months, or years.
DateDiff(start, end, unit) – Calculates the difference between two dates.
Weekday(date) – Returns a number representing the day of the week.
๐ Collection & Data Functions
Manage and interact with collections and external data.
Collect(collection, item) – Adds a new item to a collection.
Clear(collection) – Clears all items.
ClearCollect(collection, items) – Clears and then fills a collection.
Patch(dataSource, record, changes) – Updates or creates records.
Remove(dataSource, record) – Deletes a record.
Filter(source, condition) – Returns matching records.
Sort(source, column, Ascending/Descending) – Sorts a data source.
LookUp(source, condition) – Finds the first match.
Search(table, text, columns) – Searches across specific columns.
๐ง User & App Info Functions
Get details about the user or app environment.
User() – Returns name, email, and image of the current user.
Param("paramName") – Retrieves URL parameters (useful for deep linking).
App.StartScreen – Defines the default screen when the app opens.
⚙️ Control Functions
Manage screens, variables, and user interface elements.
Navigate(screen, transition) – Changes to a different screen.
Reset(control) – Resets a control to its default state.
UpdateContext({var: value}) – Creates or updates local variables.
Set(globalVar, value) – Sets a global variable for use across screens.
Toggle(control.Visible) – Toggles visibility or Boolean values.
๐งญ Wrapping Up
With these functions at your fingertips, you're well-equipped to build dynamic, responsive PowerApps solutions. Whether you're creating forms, dashboards, or data-driven apps, mastering these functions will help you bring more control and power to your apps.
Sunday, May 11, 2025
๐ Essential SPFx (SharePoint Framework) Commands for Every Developer
Whether you're new to SharePoint Framework (SPFx) or a seasoned pro, having a go-to list of core commands can significantly improve your development workflow. In this post, we'll walk through the most important SPFx CLI commands—from setting up your environment to packaging and deploying your solution.
๐ ️ Setting Up Your SPFx Project
Start by scaffolding a new project using the Yeoman generator provided by Microsoft. Make sure Node.js and npm are installed before you proceed.
yo @microsoft/sharepoint
After scaffolding the project, install all dependencies:
npm install
To update dependencies later:
npm update
๐ Trusting the Development Certificate
If you're using the local workbench, you need to trust the developer certificate for HTTPS support:
gulp trust-dev-cert
๐งช Running the Local Workbench
To build and serve your project locally, use:
gulp serve
This command starts a local server at:
https://localhost:4321/temp/workbench.html
You can also test your solution in SharePoint Online:
https://your-sharepoint-site/_layouts/15/workbench.aspx
๐️ Building and Bundling Your Solution
During development or before packaging for production, build your solution with:
gulp build
For production-ready output:
gulp bundle --ship
๐ฆ Packaging the Solution
Once bundled, create the .sppkg file for deployment using:
gulp package-solution --ship
The output will appear in the sharepoint/solution/ folder.
๐ Deploying the Solution
There is no CLI command for uploading the .sppkg file—you must manually upload it to the SharePoint App Catalog via the SharePoint admin center.
If you're using an Azure CDN to host assets, you can deploy to it (assuming it's configured) with:
gulp deploy-azure-storage
๐ Cleaning and Managing Dependencies
To clean the build output:
gulp clean
Useful npm commands for global tools:
npm install -g yo gulp
npm install -g @microsoft/generator-sharepoint
Check for outdated npm packages:
npm outdated
๐ง Final Thoughts
SPFx offers a powerful, modern way to build SharePoint customizations using familiar web development tools. Knowing these commands will help you build, test, and deploy solutions more effectively. Bookmark this list or print it out—it's a great cheat sheet for any SPFx project.
Friday, May 9, 2025
๐ Mastering Pagination in Power Apps: Handle Large Data Efficiently!
๐ What is Pagination in Power Apps?
Pagination in Power Apps is a method used to display large datasets in smaller, manageable chunks (pages) instead of loading everything at once. This improves app performance, avoids delegation issues, and enhances the user experience.
๐น Why is Pagination Needed in Power Apps?
Power Apps has a delegation limit when working with data sources like SharePoint, SQL, and Dataverse. By default, it can retrieve only 500 records, and the maximum limit is 2000 records.
If your dataset has thousands of records, trying to load everything at once will:
❌ Slow down the app
❌ Cause delegation warnings
❌ Fail to retrieve all data
✅ Solution:
Use Pagination Instead of loading everything, fetch only a specific number of records at a time (e.g., 50 per page) and let the user navigate between pages.
Example: Employee Directory App (SharePoint List)
๐น Suppose you are creating an Employee Directory App that fetches employee details from a SharePoint list with 5000+ records.
๐น Since SharePoint has delegation limitations, loading all data at once will fail or slow down the app.
๐น Instead, pagination allows users to see only 50 employees per page, with navigation buttons to view more.
๐ ️ Expected Outcome:
✅ Improved loading speed
✅ Smooth user experience
✅ Efficient data handling
๐น How to Implement Pagination in Power Apps?
We can implement pagination using Skip() and FirstN() functions.
Step 1: Define Pagination Variables
Set(CurrentPage, 1);
Set(PageSize, 50);
CurrentPage → Stores the current page number.
PageSize → Defines the number of records per page.
Step 2: Fetch Paginated Data
ClearCollect(
PaginatedData,
FirstN(
Skip(EmployeeList, (CurrentPage - 1) * PageSize),
PageSize
)
)
Explanation:
✅ Skip(EmployeeList, (CurrentPage - 1) * PageSize) → Skips previous pages.
✅ FirstN(..., PageSize) → Retrieves only PageSize (50) records.
Step 3: Add Navigation Buttons
๐น Next Page Button
If(
(CurrentPage * PageSize) < CountRows(EmployeeList),
Set(CurrentPage, CurrentPage + 1)
)
๐น Previous Page Button
If(
CurrentPage > 1,
Set(CurrentPage, CurrentPage - 1)
)
๐ Functionality:
✅ Next Page: Increases CurrentPage by 1 if more records are available.
✅ Previous Page: Decreases CurrentPage by 1 if not on the first page.
๐น Alternative Approaches for Pagination
๐น Lazy Loading (Load More Button)
Instead of pages, fetch additional data when the user clicks "Load More".
Efficient for infinite scrolling apps.
๐น Server-Side Filtering
Instead of fetching all data, apply filters before retrieving data.
Example: Fetch only employees from a specific department.
Wednesday, May 7, 2025
How to List All SharePoint Lists with PowerShell Using PnP
When managing SharePoint Online, administrators often need to retrieve a list of all libraries and lists in a site. With the PowerShell PnP module, this process is quick and efficient. In this post, we’ll walk through a simple script that connects to a SharePoint site and retrieves the title and description of all lists.
Prerequisites
To follow along, make sure you have the PnP PowerShell module installed. You can install it using:
Install-Module -Name PnP.PowerShell
Script Overview
Here's the script that connects to your SharePoint Online site and displays the title and description of each list:
# Connect to SharePoint site
Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive
# Get all lists
$lists = Get-PnPList
# Select and display Title and Description
$lists | Select-Object Title, Description | Format-Table -AutoSize
Use Cases
-
Auditing site contents
-
Documenting SharePoint structure
-
Identifying unused or unnamed lists
Friday, May 2, 2025
PowerShell Script to Bulk Update "Next Review Date" for PDFs in SharePoint Online
In document management scenarios, it's common to have review schedules for files such as policies, SOPs, or manuals. This blog post walks you through a PowerShell script that automates the process of updating the “Next Review Date” field for all PDF documents in a SharePoint Online document library.
We’ll use the PnP PowerShell module to fetch and update items efficiently, while also handling time zone specifics like CST/CDT.
Prerequisites
Before running the script, ensure:
You have the PnP PowerShell module installed:
Install-Module PnP.PowerShell -Scope CurrentUser
You have the correct Site Collection URL and Library Internal Field Name.
Your account has permission to modify list items in the target document library.
- Next_x0020_Review_x0020_Date is the internal name for the “Next Review Date” field. You can find this in list settings or by inspecting the field using PowerShell or the browser.
- The script uses a placeholder date 9999-09-09 which might be used for archiving or indefinite review.
- Adjusting time based on DST (Daylight Saving Time) ensures that timestamps align correctly across regions.
- Automating document review schedules.
- Archiving outdated or permanent documents.
- Preparing metadata for records management.
Wednesday, April 30, 2025
Convert IST to CST/CDT in PowerShell – Handling Daylight Saving Time (DST)
Working across time zones can be tricky, especially when Daylight Saving Time (DST) is involved. If you’re dealing with automation, scheduling, or data transformation tasks, converting between Indian Standard Time (IST) and Central Time (CST/CDT) becomes essential.
In this post, I’ll walk you through a PowerShell function that smartly handles the conversion of an IST datetime to either CST (Central Standard Time) or CDT (Central Daylight Time), depending on the date and DST rules.
The PowerShell Function
Below is a reusable PowerShell function that converts IST to CST/CDT accurately by accounting for Daylight Saving Time.
function Convert-ISTToCSTorDST {
param (
[datetime]$ISTDate # Input IST DateTime to be converted
)
# Central Time Zone Information
$centralTimeZone = [System.TimeZoneInfo]::FindSystemTimeZoneById("Central Standard Time")
# Check if the given ISTDate is in Daylight Saving Time (CDT) or Standard Time (CST)
$isDST = $centralTimeZone.IsDaylightSavingTime($ISTDate)
# Convert IST to UTC (since IST is UTC +5:30)
$utcDate = $ISTDate.AddHours(-5).AddMinutes(-30)
# Convert to CST or CDT
if ($isDST) {
# If in Daylight Saving Time (CDT), subtract 5 hours from UTC to get CDT
$convertedDate = $utcDate.AddHours(-5)
Write-Host "Converted Date (CDT): $convertedDate"
} else {
# If in Standard Time (CST), subtract 6 hours from UTC to get CST
$convertedDate = $utcDate.AddHours(-6)
Write-Host "Converted Date (CST): $convertedDate"
}
return $convertedDate
}