Tuesday, July 29, 2025

Content Types / Site colums Lab

 Create a Site Column


Name: Department


Type: Choice (IT, HR, Training, Development)

=======================================

Create a Custom List Using Site Column


Create a list named Employee Tracker


Add the Department Site Column to the list


Add 3–5 entries with different departments


========================

Create a Site Content Type


Name: Employee Document


Parent: Document


Add existing Site Columns:


Department


Full Name



=================


Apply Content Type to Library

Go to any Document Library



Add the content type: Employee Document


Upload a file → You should see Department and Full Name as metadata fields



===============================================


Reuse the Content Type

Go to another site/document library


Add the same Employee Document content type


Upload documents and test metadata



====================================================================

Create Site Columns:


Employee Name (Single line of text)


Department (Choice: HR, IT, Finance, Marketing)


Joining Date (Date and Time)


Location (Choice: Hyderabad, Bangalore, Remote)


=============================================================================


Create a Content Type: Onboarding Record


Parent: Item


Add all above site columns


Create a list HR Onboarding Tracker


Add the content type


Enter 5 sample records

Monday, July 28, 2025

Sharepoint Online lab

SharePoint Hands-On Tasks 

SNo.TopicTask DescriptionObjective
 1🔹 Create Custom List- Go to Site Contents > New > List
- Name: Student Tracker
- Add columns: Name (Text), Course (Choice), Attendance% (Number), Status (Calculated: =IF([Attendance %]<75, "At Risk", "Good"))
Learn list creation, column types, calculated column
 2🔹 Create Document Library- Create new Document Library Project Docs
- Add metadata columns: Project Name, Status (Choice), Owner (Person)
- Upload 5 sample documents
Understand document libraries & metadata
 3🔹 Create Views- In Project Docs, create:
→ Filtered view: “Active Projects” (Status = Active)
→ Grouped view by Project Name
→ Sort by Created date
Practice creating and customizing views
 4🔹 Create Issue Tracker List- Create list: Issue Tracker
- Columns: Title, Priority (Choice), Assigned To (Person), Status (Choice), Due Date
- Enter 10 dummy issues
Use SharePoint List like Excel table for task tracking
 5🔹 Create Folder Structure- In Project Docs:
Create folders for: Finance, Marketing, HR, IT
Move documents into respective folders
Share “Finance” folder with another user
Learn folder organization, sharing
 6🔹 Enable Versioning & Test- Go to Library Settings > Versioning Settings
- Enable Major versions
- Upload file, make 2 edits
- View version history
Understand versioning and document change tracking
 7🔹 Use Check In / Check Out- Enable Check-out in Library Settings
- Upload file, check it out
- Try editing without check-in
- Check-in with a comment
Understand file locking and document lifecycle
 8🔹 Create Lookup Column- In Student Tracker, add column: Mentor (Lookup to another list Mentors)
- Create Mentors list with Name, Dept
Learn relationships between lists
 9🔹 Recycle Bin & Restore- Delete an item/file from a list/library
- Go to Recycle Bin and restore
- Delete permanently from 2nd stage bin
Learn data recovery options
 10🔹 Create Custom List for Event Registration- Create: Event Registration
- Columns: Attendee Name, Email, Event Date, Participation Type (Choice), Feedback (Multi-line text)
- Save View as “Recent Registrations”

SPO Beginners

 Set -1

 

1: Create a Custom List

  • Create a custom list named Employee Directory.
  • Add columns:
    • Employee Name (Single line of text)
    • Employee ID (Number)
    • Department (Choice)
    • Joining Date (Date)
    • Email (Hyperlink)

  2: Add Data & Use Quick Edit

  • Add 5 records manually.
  • Use Quick Edit to update Department for all records.

  3: Create a Calculated Column

   create a SharePoint list to track student progress. Create a list named Student Tracker with the following columns:

  1. Name – Single line of text
  2. Course – Choice (e.g., Power Apps, SharePoint, Power BI, Excel)
  3. Attendance % – Number (0–100)
  4. Status – Calculated column that shows:
    • "At Risk" if Attendance < 75%
    • "Good" if Attendance ≥ 75%

 


  4: Create a Lookup Column

  • Create a new list Departments with:
    • Department Name
    • Location
  • In Employee Directory, replace Department choice column with a Lookup to Departments.

  5: Create a View

  • Create a public view named HR View:
    • Filter: Department = "HR"
    • Sort by: Joining Date (descending)
    • Group by: Department

  6: Enable Version History

  • Enable versioning.
  • Make and save changes to a record.
  • View previous versions.

  7: Add a Person Column

  • Add a column Manager (Person/Group).
  • Assign users from your tenant to records.

  8: Add Attachments

  • Upload attachments to a list item.
  • View and remove attachments.

  9: Create a Library

  • Create a document library named Project Documents.

  10: Upload Files

  • Upload 3 documents of different types (PDF, Word, Excel).
  • Use drag and drop.

  11: Create Folders

  • Create folders:
    • Design Docs
    • Reports
    • Invoices
  • Move files into appropriate folders.

  12: Enable and Test Version History

  • Enable versioning.
  • Edit and upload a new version of a file.
  • View version history.

  13: Check Out / Check In

  • Check out a document.
  • Make changes.
  • Check it back in with comments.

  14: Create a View

  • View: By Project
    • Filter: Project Name = "Project A"
    • Show columns: Name, Project Name, Document Type
    • Group by: Document Type

 

Set -2

Q1: Create a Task Tracker List

Scenario: You are managing a training program and want to track student tasks.

Task:

  • List name: Task Tracker
  • Columns:
    • Task Name (Single line of text)
    • Assigned To (Person)
    • Due Date (Date)
    • Status (Choice: Not Started, In Progress, Completed)
    • Days Left (Calculated)

Q2: Customize List Views

Task:

  • Use any existing list (like Student Tracker).
  • Create 3 views:
    • "All Students"
    • "At Risk Only" (Filter: Attendance % < 75)
    • "Course-wise Grouping" (Group by Course)

Q3: Create a Library for Assignments

Task:

  • Library Name: Assignments
  • Folders: “Power BI”, “Excel”, “Power Apps”
  • Columns:
    • Student Name (Text)
    • Submission Date (Date)
    • Status (Choice: Submitted, Missing, Reviewed)

Bonus: Create a view that shows only “Missing” assignments.


Q4: Enable Version History & Upload Versions

Task:

  1. Enable versioning in the Assignments library.
  2. Upload an assignment file.
  3. Re-upload it with changes.
  4. View version history and restore previous version.

Q5: Check Out & Check In Demo

Task:

  • Enable Check-out/Check-in for the document library.
  • Upload a file, check it out, edit it, then check it in.

 Q6: Add Navigation Links

Task:

  • Add a link to your “Student Tracker” list in the site’s left nav .
  • Link: "👨‍🎓 Students Dashboard"

 

 

Wednesday, July 23, 2025

What are the performance issues resolved in Power apps

Performance issues in the Power Platform can arise from poorly optimized apps, flows, or data sources. Here’s a list of common performance issues and how they are resolved across Power Apps, Power Automate, and Power BI.

🔧 Common Performance Issues & Resolutions
1. 

Slow App Load Times (Power Apps)

Issue: App takes too long to load due to too many controls, screens, or unoptimized queries.

Resolution:

  1. Use delegation-friendly queries (especially with large data sources).
  2. Reduce screen controls and use components or collections.
  3. Load data on demand instead of on app start.
  4. Avoid unnecessary use of Set() and ClearCollect() on app startup.

2. 

Unresponsive Workflows (Power Automate)

Issue: Flows are delayed, stuck, or fail due to API timeouts or poor branching.

Resolution:

  1. Add “Configure Run After” and timeout handling.
  2. Use parallel branches where possible.
  3. Optimize condition blocks and avoid redundant loops.
  4. Avoid calling premium connectors unnecessarily.

3. 

Poor Power BI Report Performance

Issue: Reports take long to load, refresh, or render visualizations.

Resolution:

  1. Reduce visuals per page and avoid complex measures.
  2. Use Import mode instead of DirectQuery when possible.
  3. Optimize DAX expressions.
  4. Implement data aggregation and use Power Query transformations efficiently.

4. 

Dataverse Query Slowness

Issue: Queries to Dataverse are slow or time out.

Resolution:

  1. Use indexed columns in views and filters.
  2. Limit the number of related tables queried.
  3. Avoid pulling all columns (select only necessary ones).
  4. Cache data using collections or variables.

5. 

Mobile App Lag (Power Apps mobile)

Issue: App runs slow or crashes on mobile.

Resolution:

  1. Optimize image sizes and remove unused media.
  2. Use device-specific logic to disable heavy features on mobile.
  3. Minimize concurrent calls to data sources.

6. 

Environment Performance Degradation

Issue: Multiple apps and flows across environments slow down overall system.

Resolution:

  1. Use separate environments for Dev/Test/Prod.
  2. Monitor app performance via Power Platform Admin Center.
  3. Remove unused or orphaned apps/flows.

7. 

Inefficient Expressions and Formulas (Canvas Apps)

Issue: Use of nested If(), Switch(), or repeated LookUp() causes delays.

Resolution:

  1. Replace If() chains with Switch().
  2. Use With() for readability and reusability.
  3. Use ForAll() with inline logic instead of calling Patch() multiple times.

Tuesday, July 22, 2025

What is the role of an architect in Power Platform projects

A Power Platform Architect:

  1. Designs scalable, secure, and maintainable solutions
  2. Selects appropriate data sources
  3. Defines ALM (Application Lifecycle Management) strategy
  4. Ensures integration with external systems
  5. Sets up environment governance and security

Here’s a detailed breakdown of a Power Apps Architect’s roles and responsibilities, structured into key areas. This is useful for organizational planning.

🧠 

Power Apps Architect: Detailed Roles & Responsibilities

🔷 1. 

Solution Design & Architecture

  1. Lead end-to-end architecture of business apps using Power Apps, Dataverse, and Power Automate.
  2. Choose between Canvas, Model-Driven, or Power Pages based on business need.
  3. Design data models, entity relationships, security models, and business logic.
  4. Ensure alignment with enterprise architecture and scalability goals.

📌 Example: Designing a scalable CRM using Dataverse, Model-Driven Apps, and role-based access.

🔷 2. 

Governance & Security

  1. Define and implement governance policies, including:
  2. DLP (Data Loss Prevention) rules
  3. Environment strategy (Dev/Test/Prod separation)
  4. App usage monitoring

  5. Manage data access policies, role-based security, and field-level restrictions.
  6. Collaborate with IT/security teams to align with compliance needs (e.g., GDPR, HIPAA).

📌 Example: Preventing data leakage by blocking non-business connectors in Canvas Apps.

🔷 3. 

Data Strategy & Integration

  1. Architect data models using Dataverse, SharePoint, SQL, or Azure services.
  2. Design integrations with:
  3. External APIs (REST/SOAP)
  4. Dynamics 365
  5. Azure Functions, Service Bus
  6. ERP/legacy systems

  7. Build or oversee Custom Connectors when needed.

📌 Example: Integrating Power Apps with SAP via Azure Logic Apps or custom connector.

🔷 4. 

Application Lifecycle Management (ALM)

  1. Implement CI/CD pipelines using:
  2. Power Platform Build Tools
  3. GitHub Actions or Azure DevOps

  4. Define solution management (managed vs unmanaged)
  5. Set up version control and deployment pipelines

📌 Example: Automating solution export/import using Azure DevOps pipelines.

🔷 5. 

Best Practices & Performance Tuning

  1. Enforce delegation-aware design
  2. Use component libraries, reusable flows, and canvas app templates
  3. Audit app performance using monitor tools and diagnostic logging

📌 Example: Refactoring canvas app to use Concurrent() and limit delegation issues.

🔷 6. 

Mentorship and Leadership

  1. Guide developers, analysts, and business users on:
  2. App design
  3. Reusability and modularity
  4. UX standards and accessibility

  5. Conduct code reviews, architecture reviews, and design sessions

📌 Example: Reviewing junior dev’s Canvas App for delegation issues and design consistency.

🔷 7. 

Power Platform Governance Framework

  1. Contribute to or establish:
  2. Environment strategies (per department or lifecycle stage)
  3. Naming conventions
  4. App ownership policies
  5. User support models

📌 Example: Deploying the Microsoft CoE Starter Kit and customizing it for organization-wide usage.

🔷 8. 

Stakeholder Communication

  1. Translate business requirements into technical solutions.
  2. Prepare and present architecture diagrams, solution overviews, and roadmaps.
  3. Collaborate with product owners, PMs, and IT teams.

📌 Example: Presenting Power Apps strategy to senior stakeholders with ROI projections.

🔷 9. 

Innovation & Future Planning

  1. Stay updated with latest features (e.g., Power Fx updates, Copilot, AI Builder)
  2. Explore AI Builder, Power Virtual Agents, custom pages, and Dataverse extensibility
  3. Recommend enhancements and roadmap planning for app modernization

🧾 Bonus Skills for a Power Apps Architect:

Skill AreaTools/Concepts
ALM & DevOpsAzure DevOps, GitHub, Pipelines
Data PlatformsDataverse, SQL Server, SharePoint
SecurityAzure AD, DLP, Role-based security
Low-Code/Pro Dev FusionCustom APIs, JavaScript for PCF controls
MonitoringPower Platform Admin Center, CoE Kit
IntegrationREST, Logic Apps, Service Bus

Friday, July 18, 2025

"Zero to Hero” Power Apps Interview Guide

 Here’s a “Zero to Hero” Power Apps Interview Guide – a comprehensive list of interview questions with detailed answers for beginners to advanced (up to PL-400 level). This is designed for freshers, intermediate, and experienced developers aiming to crack Power Apps Developer interviews.


🏁 Stage 1: Beginner Level (Fundamentals)

1. What is Power Apps?

Answer:
Power Apps is a low-code/no-code development platform from Microsoft that allows users to build custom business applications quickly using prebuilt templates, drag-and-drop functionality, and connectors to hundreds of data sources.


2. What are the types of Power Apps?

Answer:

  1. Canvas Apps – Design pixel-perfect UI using a drag-and-drop canvas.

  2. Model-Driven Apps – Data-first apps with auto-generated UI based on Dataverse schema.

  3. Power Pages (Portals) – External-facing websites connected to Dataverse.


3. What is the difference between Canvas and Model-Driven Apps?

FeatureCanvas AppModel-Driven App
UI ControlFully customizableAuto-generated
Data SourceMultipleMostly Dataverse
Target AudienceCitizen/Pro DevelopersBusiness Users

4. What is Dataverse?

Answer:
Microsoft Dataverse is a secure, scalable, and relational data platform for storing and managing data used by Power Platform apps.


5. How do you connect Power Apps to a data source?

Answer:
Using built-in connectors. For example:

  • SharePoint

  • SQL Server

  • Dataverse

  • Excel

  • Outlook

  • Custom APIs

Use Data pane → Add data → Choose connector.


⚙️ Stage 2: Intermediate Level (Core Developer Skills)

6. What are collections in Power Apps?

Answer:
Collections are in-memory data tables. Useful for offline access, temporary storage, or bulk operations.

  • Collect() – Adds data.

  • ClearCollect() – Clears and then adds data.

  • Remove() – Deletes from collection.

powerapps
ClearCollect(colEmployees, EmployeesList)

7. Explain Set() vs UpdateContext()

  • Set(): Creates a global variable (available across screens).

  • UpdateContext(): Creates a local variable (screen-specific).

powerapps
Set(varUser, "Ravi") UpdateContext({showPopup: true})

8. What is delegation?

Answer:
Delegation is the process of pushing data-processing logic to the data source to avoid performance issues.

  • Delegable: Filter(), Sort(), LookUp()

  • Non-Delegable: AddColumns(), CountIf()

Avoid using non-delegable functions on large data sources.


9. How do you write CRUD operations using Patch()?

Create:

powerapps
Patch(Employees, Defaults(Employees), {Name: "Ravi", Age: 25})

Update:

powerapps
Patch(Employees, ThisItem, {Age: 26})

Delete:

powerapps
Remove(Employees, ThisItem)

10. How do you use Power Automate with Power Apps?

Answer:

  • Create a flow with trigger “Power Apps”.

  • Add required actions (email, approvals, etc.).

  • Call it from Power Apps:

powerapps
MyFlow.Run("param1", "param2")

🚀 Stage 3: Real-Time Scenarios

11. A gallery is not showing data. What do you check?

  • Is data source connected correctly?

  • Is Filter() formula returning data?

  • Are there delegation warnings?

  • Is the app published with correct version?


12. How do you show a success message after saving a form?

powerapps
SubmitForm(Form1); Notify("Record submitted successfully", NotificationType.Success)

13. How do you show/hide controls based on roles?

powerapps
If(User().Email = "admin@domain.com", true, false)

OR use a SharePoint list or Dataverse table with user-role mapping.


14. How do you filter dropdowns based on another dropdown?

powerapps
Filter(States, Country = ddlCountry.Selected.Value)

15. How do you add offline capability to Canvas App?

Use SaveData() and LoadData():

powerapps
SaveData(colLocalData, "localCache") LoadData(colLocalData, "localCache", true)

🧠 Stage 4: Advanced Level (PL-400/Architect Level)

16. What is a Custom Connector?

Answer:
Custom Connector allows Power Apps to connect to any REST API. You define:

  • Request methods (GET, POST)

  • Auth type (API Key, OAuth)

  • Sample responses


17. How do you implement security in Power Apps?

  • Control access with Azure AD security groups

  • Apply role-based access using logic:

powerapps
If(CurrentUserRole = "Manager", DisplayFormScreen, AccessDeniedScreen)
  • Secure data via Dataverse role-based security or SharePoint permissions


18. What is the Monitor Tool?

Answer:
The Monitor tool helps debug performance and logic issues by showing all events, function calls, and errors in real-time.


19. How do you manage environments in Power Platform?

  • Use Solutions to package apps, flows, and resources.

  • Use Environment variables for URLs or keys.

  • Move solutions using Export/Import or ALM pipelines.


20. What are DLP Policies in Power Platform?

Answer:
Data Loss Prevention (DLP) policies prevent mixing risky connectors.
Example: Block combining SharePoint (business data) with Twitter (non-business).

Defined in Power Platform Admin Center.