SharePoint Articles / Blogs / Perficient https://blogs.perficient.com/tag/sharepoint/ Expert Digital Insights Mon, 25 Aug 2025 11:31:55 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png SharePoint Articles / Blogs / Perficient https://blogs.perficient.com/tag/sharepoint/ 32 32 30508587 No More Folder Filters? Use Metadata Instead in SharePoint Document Libraries https://blogs.perficient.com/2025/07/05/sharepoint-filter-by-folder-name/ https://blogs.perficient.com/2025/07/05/sharepoint-filter-by-folder-name/#respond Sat, 05 Jul 2025 07:08:18 +0000 https://blogs.perficient.com/?p=385539

In SharePoint Online, folders are still widely used to organize content – mainly in document libraries where projects or departments are grouped at the top-level. However, when users want to apply a SharePoint Document Library filter by folder name, the platform lacks built-in support.

Image: “SharePoint Document Library with Top-level Folders”

Sharepoint Document Library With Top Level Folders

 

In one of my projects, users wanted to create a view that showed only documents under a specific top-level folder (like Department HR, Finance, etc.) – including its subfolders and all documents inside.

At first glance, it seemed this should be possible with built-in view settings. But I quickly learned: SharePoint does not support filtering by folder name out of the box.

Here’s what I found, what doesn’t work, and the scalable solution I implemented – including PowerShell and Power Automate scripts for anyone facing the same challenge.

What Works?

Navigating into a Folder

When you manually enter a folder (e.g., click into “Department HR”), the filter panel works on that folder’s content only. You can filter by metadata like Status or Modified By, but it won’t search across the whole library.

Flat Views Using “Show All Items Without Folders”

In view settings, if you choose “Show all items without folders,” SharePoint flattens the structure so you can filter and group across all documents, but the folder structure becomes invisible.

 

Document View Settings – Show All Items Without Folders

Image: “Document View Settings – Show All Items Without Folders”

Document View Settings – Show All Items Without Folders 2

Metadata Filtering (Best Practice)

If documents are tagged with a Project Name or similar metadata, SharePoint’s filter panel and custom views work beautifully, even in large libraries.

 

Filtering By Departmentname Metadata

Image: “Filtering by DepartmentName Metadata”

What Doesn’t Work?

Feature/Expectation Limitation
Filter view by folder name Not possible via view settings or built-in filters
“Folder Name” column in the view filter Doesn’t exist out of the box
View settings → Folders → Filter specific folder You can only choose: show in folders or without folders
Filters across subfolders in normal views Doesn’t work unless the folder is open or the structure is flattened
View Settings No Folder Name Option In Filters

Image: “View Settings: No Folder Name Option in Filters”

Real-World Workaround: Metadata + PowerShell + Power Automate

To meet the project requirement (filter by folder), I implemented a workaround using metadata to simulate folder filtering – and automated the tagging.

The Plan

  • Add a DepartmentName metadata column.
  • Bulk-update all existing documents and folders based on their top-level folder.
  • Automatically tag new files/folders using Power Automate

Step 1: Add the Metadata Column

  1. Go to the SharePoint document library
  2. Click + Add column → Single line of Text
  3. Name it: DepartmentName
  4. Optionally, add values like: HR, Finance, Sales, Marketing, etc.

Add The Metadata Column

Step 2: Use PowerShell to Tag Existing Files

Use PnP PowerShell to loop through items and set the DepartmentName (DepartmentName as Top-level Folder Name) metadata based on their folder path.

# Connect to your SharePoint site
Connect-PnPOnline -Url "https://xxxxx.sharepoint.com/sites/Centra" -UseWebLogin #replace it with your site

# Set library and column
$libraryName = "Shared Documents" #replace it with the Library name
$metadataColumn = "DepartmentName" #replace it with the coloumn name

# Get all items (files and folders)
$items = Get-PnPListItem -List $libraryName -Fields "FileRef", $metadataColumn

foreach ($item in $items) {
    $filePath = $item["FileRef"]  # e.g. /sites/Centra/Shared Documents/Document.docx
    Write-Host "`nItem ID $($item.Id) - Path: $filePath"

    # Split path into segments
    $segments = $filePath -split "/"
    $sharedDocIndex = $segments.IndexOf($libraryName)

    if ($sharedDocIndex -ge 0 -and ($sharedDocIndex + 1) -lt $segments.Count) {
        $candidate = $segments[$sharedDocIndex + 1]

        # If candidate contains a dot, treat as file => skip
        if ($candidate -notmatch "\.") {
            # It's a folder name, update
            $departmentName = $candidate
            Write-Host "Extracted Department: $departmentName"

            # update list item
            Set-PnPListItem -List $libraryName -Identity $item.Id -Values @{ $metadataColumn = $departmentName }
        }
        else {
            Write-Host "Skipping item ID $($item.Id) — directly under Shared Documents (file)."
        }
    }
    else {
        Write-Host "Skipping item ID $($item.Id) — no folder found after Shared Documents."
    }
}

Use Powershell To Tag Existing Files

This script checks the item’s path and extracts the first folder name after Shared Documents. If the item is in the root (i.e., not inside a folder), it skips updating.

To help you understand, here are some example paths and how they update the “DepartmentName” metadata column:

File or Folder Path Script Behavior Extracted DepartmentName
`/sites/Centra/Shared Documents/Document.docx` Skipped – file in root None
`/sites/Centra/Shared Documents/HR` Folder – top-level HR
`/sites/Centra/Shared Documents/HR/Employee Records/file.docx` File inside the subfolder under HR HR

Result: Every document now has its DepartmentName metadata filled based on the top folder location.

Result (1)

Step 3: Power Automate – Auto-Tag Future Uploads

To ensure new documents are tagged automatically, set up a Power Automate flow:

Trigger:

  • When a file is created (properties only)
    • Library: Documents
      When A File Is Created

Action 1: Initialize a variable

  • Name: varDepartmentName
  • Type: String
    Initialize A Variable

Action 2: Set a variable with the folder name

Use this expression:

  • split(triggerOutputs()?['body/{Path}'], '/')[1]
  • Adjust the index in the split() expression based on folder depth.

Example:

  • Consider a Path from trigger: “Shared Documents/HR/Employee/file.docx”
  • Split Result: [“Shared Documents”, “HR”, “Employee”, “file.docx”] -> “HR” is at index [1] in this case.

That’s why we use: split(triggerOutputs()?[‘body/{Path}’], ‘/’)[1]

This retrieves the top-level folder name (e.g., HR), which can be used to set metadata like DepartmentName.

Set Variable With Folder Name

Action 3: Update file properties

  • ID: ID from the trigger
  • DepartmentName: use the variable (varDepartmentName)
    Update File Properties

Result: New files or folders uploaded into folders will be auto-tagged with the correct Department name.

Powerautomateautotagresult

Gif: “Auto-tagging flow in action”

Step 4: Create a View for Each Project in the SharePoint Document Library

Now that all documents and folders are tagged, you can create filtered views like:

  • Department HR

Filter: DepartmentName = HR

  • Department Finances

Filter: DepartmentName = Finances

You can also group or sort by Department name.

Conclusion

While SharePoint doesn’t support folder-level filtering, it offers powerful filtering and organization when you shift from folders to metadata.

By combining PowerShell for existing files and Power Automate for future uploads, you can create a scalable and maintainable structure that:

  •  Works across 5,000+ items
  •  Enables dynamic filtering and views
  •  Simplifies user experience

Pro Tip: Index your DepartmentName column to improve performance in large libraries.

 

]]>
https://blogs.perficient.com/2025/07/05/sharepoint-filter-by-folder-name/feed/ 0 385539
Building Azure DevOps CI Pipelines for SPFx https://blogs.perficient.com/2024/12/31/building-azure-devops-ci-pipeline-for-spfx/ https://blogs.perficient.com/2024/12/31/building-azure-devops-ci-pipeline-for-spfx/#respond Tue, 31 Dec 2024 07:07:35 +0000 https://blogs.perficient.com/?p=374442

This blog offers a comprehensive guide to setting up Continuous Integration (CI) in Azure DevOps to automate the integration of SharePoint Framework (SPFx) code by leveraging Azure DevOps pipelines. This process aims to streamline development workflows, improve code quality, and ensure quicker code validation before deployment without any manual processing.

Continuous Integration (CI) is the process of automating the build and testing of code when a developer commits changes to source control. Commit to source control triggers an automated build that grabs the latest code from version control, builds it, and runs tests on it (if configured).

Prerequisite for Building CI pipeline for SPFx in Azure DevOps

To set up Continuous Integration (CI) for SPFx in Azure DevOps, ensure you have the following things already setup:

  • An Azure DevOps account with required access
  • Your SharePoint Framework (SPFx) project should be stored in a Git repository
  • Ensure the repository includes the necessary package.json, gulpfile.js, and other configuration files required to build and bundle your SPFx solution

Implementation

To implement CI, we must create a new Pipeline in Azure DevOps. Building a pipeline includes the following major steps:

  • Create a build definition
  • Install NodeJS
  • Restore npm packages
  • Build the solution
  • Package the solution
  • Prepare the Artifacts
  • Publish the Artifacts

Create a Build Definition

Build definition contains the definition and configuration for the build. Follow the below steps to create a new build definition.

  • Login to Visual Studio Online (Azure DevOps)
  • Select your project to set up a build definition.
  • From the left navigation, click Pipelines > Builds.
  • Click “New pipeline” > Click on “Use the classic editor”.
  • Select “Azure Repos Git” > Select Team Project > Select Repository > Select branch for CI implementation.

Selectsource

  • Under “Select a template”, select “Empty Pipeline”.

Selecttemplate

  • The build definition has a default agent. We can add multiple tasks to the agent to define our build.

Pipelinedetails

In this case, in agent specification, I have used Windows-2022, but you can also choose “Windows-latest” based on the environment in which you want to run your build.

Install NodeJS

  • On the default agent, click the + sign.
  • Search for “Node”.
  • Add Node.js tool installer.

Addnodejstool

  • Make sure you specify 10.x in the Version Spec field. If your project is based on SharePoint Framework 1.7.1 or earlier, use version 8.x.

Selectnotejsversion

Restore npm Packages

SharePoint Framework solution uses third-party npm packages. We need to restore those before starting the build process.

  • Add npm task.
  • Verify if the command is set to install.

Npminstall

Build the Solution

Build the SPFx solution to minify the required assets to upload to CDN.

  • Add gulp task.
  • Set Gulp file path to gulpfile.js.
  • Set Gulp task as a bundle.
  • Set Gulp arguments to –ship.

Buildsolution

Note: Ensure the gulp task has the “–warnoff” command and “–ship” to avoid build failure in a production environment. Refer to the Configuration section below for details.

Package the Solution

The next step is to combine the assets into a package.

  • Add gulp task.
  • Set Gulp file path to gulpfile.js.
  • Set Gulp task as package-solution.
  • Set Gulp arguments to –ship.

Packagesolution

Prepare the Artifacts

Azure DevOps build does not retain any files. The “.sppkg” file created from the above step needs to be copied to the staging directory to be published to the release pipeline.

  • Add “Copy Files” task.
  • Set “Source Folder” to $(Build.Repository.LocalPath)/sharepoint/solution.
  • Set “Contents” to *.sppkg.
  • Set target folder to $(Build.ArtifactStagingDirectory)/drop.

Setartifacts

Publish the Artifacts

Instruct Azure DevOps to keep the files after build execution.

  • Add the “Publish Build Artifacts” task.
  • Set “Path to publish” to $(Build.ArtifactStagingDirectory)/drop.
  • Set “Artifact name” to drop.

Publishartifacts

Configuration

During bundling and packaging of your SharePoint Framework solution, you could see two types of messages:

  • Warnings
  • Errors

When running a DEBUG build, both messages do not cause the process to fail by a stderr (or standard error). But in the PRODUCTION build, you would get the following type of error output:

Stderrcicd

This might be an issue in your automated build/release pipelines. For instance, when you automatically bundle and package your solution on Azure DevOps, there is no way to tell that it should continue when warnings occur. The only option you have is to “continue” on error.

To restrict this, we can add a “warnoff” command in the build process, which won’t cause the build process to fail. For this, make the following changes in gulpfile.js.

// Retrieve the current build config and check if there is a `warnoff` flag set
const crntConfig = build.getConfig();
const warningLevel = crntConfig.args["warnoff"];
// Extend the SPFx build rig, and overwrite the `shouldWarningsFailBuild` property
if (warningLevel) {
    class CustomSPWebBuildRig extends build.SPWebBuildRig {
        setupSharedConfig() {
            build.log("IMPORTANT: Warnings will not fail the build.")
            build.mergeConfig({
                shouldWarningsFailBuild: false
            });
            super.setupSharedConfig();
        }
    }
    build.rig = newCustomSPWebBuildRig();
}
build.initialize(gulp)

Conclusion

Setting up a Continuous Integration (CI) pipeline for SPFx in Azure DevOps automates the process of building, testing, and bundling your SPFx solutions whenever any code changes occur. This pipeline will eventually reduce the need for manual intervention and guarantee that the latest code is thoroughly validated before deployment.

]]>
https://blogs.perficient.com/2024/12/31/building-azure-devops-ci-pipeline-for-spfx/feed/ 0 374442
Building Azure DevOps CD Processes for SPFx https://blogs.perficient.com/2024/12/31/building-azure-devops-cd-process-spfx/ https://blogs.perficient.com/2024/12/31/building-azure-devops-cd-process-spfx/#respond Tue, 31 Dec 2024 07:07:18 +0000 https://blogs.perficient.com/?p=374476

This blog provides a detailed explanation of the technical approach for implementing Continuous Deployment (CD) processes within Azure DevOps. It focuses on automating the deployment of solutions to SharePoint environments. This approach not only speeds up the release cycle but also enhances reliability, minimizes errors, and ensures that updates are deployed quickly and effectively.

Continuous Deployment (CD) takes validated code packages from the build process and deploys them into a staging or production environment. Developers can track successful deployments and narrow issues to specific package versions.

Prerequisite for building CD for SPFx in Azure DevOps

To set up Continuous Deployment(CI) for SPFx in Azure DevOps, ensure you have the following things already setup:

  • An Azure DevOps account with required access
  • CI pipeline for building the required package file .sppkg for deployment
  • Required access to App Catalog for deploying to SharePoint Online

Implementation

We need to create a new Release in Azure DevOps to implement CD. It requires the following steps:

  • Creating the Release Definition
  • Link the Build Artifact
  • Create the Environment
  • Install NodeJS
  • Install Office 365 CLI
  • Connect to App Catalog
  • Add Solution Package to App Catalog
  • Deploy the App
  • Set Environment Variables

Creating the Release Definition

  • Login to Visual Studio Online (Azure DevOps)
  • Select your project to set up a build definition.
  • From the left navigation, click Pipelines > Releases.
  • Click the “+ New” button > click “New Release Pipeline”.

Createreleasedefinition

  • Select template > Empty job > Apply.

Selectreleasetemplate

Linking the Build Artifact

  • Click on Add an artifact.
  • Select Project, Source, etc.

Buildartifact

Note: Give a meaningful name to “Source alias” and note it down. This name will be used in upcoming steps.

Setartifactdetails

Create the Environment

  • Under Stages, click “Stage 1”.
  • Name your environment.

Createreleaseenvironment

Installing NodeJS

  • Go to the “Tasks” tab
  • The task configuration window will appear the same as in the build definition.
  • On the default agent, click + sign.
  • Search for “Node”.
  • Add Node.js tool installer.
  • Specify 10.x in the Version Spec field. If your project is based on SharePoint Framework 1.7.1 or earlier, use version 8.x.

Cdinstallnpdejs

Install Office 365 CLI

Office 365 Common Language Interface (CLI) is an open-source project from the OfficeDev PnP Community.

  • Add npm task.
  • Under “Command,” select custom.
  • In the “Command and Arguments,” type install -g @pnp/office365-cli.

Installoffice365cli

Set Environment Variables

Before connecting to SharePoint, we can define some variables used at multiple steps in the deployment process. So, define the process variables in the “Variables” tab below.

  • Click the Variables tab.
  • Under Pipeline variables, add the variables below.

Setenvironmentvariables

Connect to App Catalog

We need to authenticate against our tenant’s app catalog.

  • Add the “Command Line” task.
  • In the “Script” field, type in the below command:
o365 spo login https://$(tenant).sharepoint.com/$(catalogsite) --authType password --userName $(username) --password $(password)

Connecttoappcatalog

Add Solution Package to App Catalog

Now, we need to upload the solution package to the app catalog.

  • Add “Command Line” task.
  • In the “Script” field, type in the below command:
o365 spo app add -p $(System.DefaultWorkingDirectory)/<Source alias>/drop/ webparts.sppkg --overwrite

Note: “Source alias” is the alias name set up during the “Link the Build Artifact” step.

Addsolutionpackagetoappcatalog

Deploy the App Catalog

Finally, we must deploy the app .sppkg file to the App Catalog to make it available to all site collections within the tenant.

  • Add “Command Line” task.Createreleaseenvironment
  • In the “Script” field, type in the below command.
o365 spo app deploy --name webparts.sppkg --appCatalogUrl https://$(tenant).sharepoint.com/$(catalogsite)

Deployappcatalog

Conclusion

Setting up a Continuous Deployment (CD) for SPFx in Azure DevOps automates the process of solution package deployment to the App Catalog in the SharePoint environment. This process will enable developers to focus on ensuring a seamless and consistent delivery process, accelerate iterations, and maintain a more agile and adaptable development environment.

]]>
https://blogs.perficient.com/2024/12/31/building-azure-devops-cd-process-spfx/feed/ 0 374476
Create and Manage Microsoft Teams and Channels with PowerShell https://blogs.perficient.com/2024/12/24/create-and-manage-microsoft-teams-and-channels-with-powershell/ https://blogs.perficient.com/2024/12/24/create-and-manage-microsoft-teams-and-channels-with-powershell/#comments Tue, 24 Dec 2024 06:05:32 +0000 https://blogs.perficient.com/?p=374149

In this blog, we will walk through the process of creating a Team, adding Team Channels, and managing owners and members within Microsoft Teams using PowerShell scripts. You’ll learn how to automate the creation of Teams, organize them with different channels, and efficiently manage user roles and permissions, such as assigning ownership or membership. This will help you streamline administrative tasks in Microsoft Teams, enabling you to maintain better control and organization within your Teams environment.

Prerequisites for Creating and Managing Microsoft Teams with PowerShell

For executing certain commands, you should have the Microsoft Teams PowerShell module installed on your computer. Use the PowerShell cmdlet below to install the Microsoft Teams PowerShell module. I am performing this in PowerShell ISE.

Install-Module -Name MicrosoftTeams -Force -AllowClobber

Once the setup is completed, open the PowerShell ISE in administrator mode and set up a new team.

Create a Team with PowerShell

To work with Teams using PowerShell, connect the Teams module by importing it in code as follows:

# Sign into Teams online
Import-Module -Name MicrosoftTeams
$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential

You will be prompted to enter your credentials when you execute the above commands. Ensure that you provide the admin credentials for Microsoft Teams.

Next, create the team as either Private or Public using the following command:

New-Team -DisplayName <TeamName> -Visibility <Private/Public> -Description <DescriptionAboutTeam> -MailNickName <AliasName> -Owner <TeamOwnerEmail>

Ex: New-Team -DisplayName  “Test Team” -Description “This Team is for testing purpose” -Visibility Private -MailNickName TestTeam -Owner abc@xyz.com

Note: Changes made to Teams via PowerShell may take up to two hours to take effect and appear in both the Office 365 admin portal and the Teams client.

Once the team is created, it will display the information about the newly created Team as follows:

Newteam

Parameters

  • Visibility: Public Teams enable any user to join the group, while Private Teams require approval from an owner before a user can join.
  • MailNickName: Email alias for the associated Office 365 group. MailNickName will be used as the PrimarySmtpAddress.
  • Owner: The Team owner can add or remove people from the Team. If the owner is not specified, it is set to the admin user who created the Team.

Add Users to a Team

To add users, you need the GroupId. Use the PowerShell command below to retrieve the GroupId based on the Teams display name.

# Get Team ID
$Group = Get-Team -DisplayName <TeamDisplayName> | select GroupId

This command will return the GroupId, display name, visibility, description, and other details. Then, add the users to the group by executing the following cmdlet.

# Add user to Team
Add-TeamUser -GroupID $Group.GroupId -User username@xyz.com

By default, it adds the user as a Member of the Team. To add a user as the owner of a team, include the -Role parameter and set its value for the owner.

Remove Users from a Team

# Get Team ID
$Group = Get-Team -DisplayName <TeamDisplayName> | select GroupId
# Remove user from Team
Remove-TeamUser -GroupID $Group.GroupId -User abc@xyz.cloud

Once a user is removed from a team, they can no longer access the team’s channels, files, or conversations.

Note: Only the team owner has the authority to execute this command and remove a user

Create Channels for a Team

After the team is created, you can add a channel to it. To do this, use the New-TeamChannel cmdlet with the following syntax.

New-TeamChannel -GroupId $GroupId -DisplayName <NewChannelDisplayName> -MembershipType <Private/Shared/Standard> -Owner <UserEmail>

Parameters

  • MembershipType: Channel membership type, Standard, Shared, or Private.
  • DisplayName: Name of the channel that needs to be created
  • Owner: UPN of owner that can be specified while creating a private channel.

Note: A SharePoint site is also generated when a private or shared channel is created in a team. Access to this site is restricted to the owners and members of the respective private or shared channel.

A team site is automatically created in SharePoint whenever a new team or a private/shared channel is created in Microsoft Teams. The site’s description or classification can be edited within the channel settings in Teams.

Add/Remove Users to a Team Channel

We can manage users within a specific channel, enabling us to assign them as either channel owners or members.

The command will return immediately, but the Teams application will not reflect the update immediately. To see the update, you should refresh the members page.

# Get the Group ID of a Team
$GroupId = (Get-Team -DisplayName <TeamDisplayName>).GroupId
#Add user to the Channel in Teams
Add-TeamChannelUser -GroupId $GroupId -DisplayName <ChannelDisplayName> -User <UserEmail>

You can include a role parameter if the user needs to be the channel owner. Refresh the members page to view the changes in the Team application.

Note: Due to technical limitations of private channels, users must first be members of the team to be added as members of a channel. Additionally, to become an owner of a channel, someone must first be a member of that channel.

Similarly, the following command can be used to remove a user from the team channel:

# Get the Group ID of a Team
$GroupId = (Get-Team -DisplayName <TeamDisplayName>).GroupId
#Remove user from the Channel in Teams
Remove-TeamChannelUser -GroupId $GroupId  -DisplayName <ChannelDisplayName> -User <UserEmail>

Remove a Channel from a Team

The following cmdlet deletes a specific channel from a Microsoft Teams team using the PowerShell module.

# Get the Group ID of a Team 
$GroupId = (Get-Team -DisplayName <TeamDisplayName>).GroupId
Remove-TeamChannel -GroupId $GroupId -DisplayName <ChannelDisplayName>

This action will not delete any content from the tabs associated with the channel. Also, only team admins or users with specific permissions are authorized to delete a channel from the team.

Note: This will “soft delete” a channel, which means its contents are not permanently removed immediately. You can restore this within 21 days before it gets permanently deleted. So, any new request to create a channel with the same information will fail for 21 days.

Deleting a standard channel does not delete the channel site. The channel is removed, but the files remain. Deleting a private channel removes the entire site, including all files and conversations.

Finally, disconnect the Microsoft Teams environment from the PowerShell using the following command:

Disconnect-MicrosoftTeams

Conclusion

You can efficiently create and manage Microsoft Teams and channels by utilizing the commands provided, allowing for seamless administration. This also offers the flexibility to manage users within both the teams and individual channels, whether private or shared. This gives you complete control over user roles, permissions, and access.

]]>
https://blogs.perficient.com/2024/12/24/create-and-manage-microsoft-teams-and-channels-with-powershell/feed/ 2 374149
How to Retire and Repurpose SharePoint Site https://blogs.perficient.com/2023/12/13/how-to-retire-and-repurpose-sharepoint-site/ https://blogs.perficient.com/2023/12/13/how-to-retire-and-repurpose-sharepoint-site/#comments Wed, 13 Dec 2023 07:53:57 +0000 https://blogs.perficient.com/?p=351261

Retire and Repurpose SharePoint Site

Across most organizations, classic SharePoint sites have been converted to the modern SharePoint experience. The modern experience is designed to be compelling, flexible, mobile, and user-friendly, and is available in SharePoint in Microsoft 365. However, many users still prefer to access classic sites. To address this, we can retire a classic site or a modern site, depending on the scenario. In either case, instead of deleting a modern site, we can repurpose it.

  • Go to SharePoint site.
  • Go to Site information from setting gear, Check if the site is associated with the Hub Site Let’s say Corporate Communication is Site name. Select None from the Hub site association dropdown. Picture1
  • The next step will be to delete groups from Site Permission. Before deleting all groups make sure your name is added in Site Collection administrators or at least one person’s name is added to the site and must have full control)Picture2

 

  • Go to Site Permission, select all groups including Owner, member, and Visitor, and click on Remove User Permissions.

Picture3

(If you want to add default groups, add existing groups from this URL https://your-sharepoint-site.com/_layouts/permsetup.aspx )

  • Check for Unique permissions. Go to Site permission and click on Show these items.Picture4
  • Check for unique permissions for all libraries and click on manage permission.
  • Select all users from the list and remove unique permissions. Do the same process for all libraries that show items.

Picture5

  • Prohibit all access requests for the SharePoint site. Go to Access Requests Setting and uncheck allow access requests.

Picture6

You can also decline all pending requests and external user invitation from same window.

  • Remove admins from Site collection administrators.
  • Wipe out data from Site Contents.
    1. Go to the Site page and delete all site pages except Home.aspx.
    2. Go to the Documents library and delete all documents.
    3. Check any additional library present under site content.
  • Delete links added to local navigation using the edit option.

You have successfully repurposed and retired a SharePoint site.

]]>
https://blogs.perficient.com/2023/12/13/how-to-retire-and-repurpose-sharepoint-site/feed/ 1 351261
Microsoft Ignite: 9 Exciting Product Announcements and Key Takeaways https://blogs.perficient.com/2023/11/24/microsoft-ignite-nine-exciting-product-announcements-and-key-takeaways/ https://blogs.perficient.com/2023/11/24/microsoft-ignite-nine-exciting-product-announcements-and-key-takeaways/#comments Fri, 24 Nov 2023 16:00:26 +0000 https://blogs.perficient.com/?p=350069

Last week, Microsoft brought together partners, customers, and thought leaders at Microsoft Ignite, its annual conference, held this year in Seattle. This year’s event featured close to 600 sessions on AI alone, which is unheard of among technology partners.

Generative AI is the pinnacle of many of Microsoft’s new product announcements, including more Copilots, additional Azure features, new AI capabilities for large language models (LLMs) in Azure, and more.

Read on for our nine key takeaways and some of the most noteworthy announcements from Ignite:

  1. Several new Copilots were announced, as well as enhancements to the Copilot stack, including offerings across solutions to transform productivity and business processes for everyone in your organization, from office workers to frontline workers to IT.
  2. Copilot Studio, a conversational copilot for creating and customizing more copilots, provides access to Azure features like speech recognition and sentiment analysis. It also enables users to add more sophisticated features through Power Platform connectors and Power Automate workflows. Via Microsoft Fabric, Copilot Studio has a unified data layer that leverages AI to help users navigate complex tasks, automate repetitive processes, and improve efficiency.
  3. Microsoft Fabric provides a unified data architecture and enables users to integrate key technologies such as Azure Data Factory, Azure Synapse Analytics, Power BI, and OneLake. This creates a cohesive system with seamless data accessibility and usage.
  4. Announced at Build in May, Azure AI Studio – a comprehensive suite of machine learning tools – integrates with Microsoft Fabric to build, train, and deploy machine learning (ML) models using data that’s readily accessible and reliable. It simplifies the use of large language models (LLMs) and allows users to choose data sources, enabling responses to be fine-tuned with real-time data without having to retrain the whole model, and, once deployed, monitor performance.
  5. Conversely, Windows AI Studio will help developers customize and deploy small language models (SLMs). Users can run models in the cloud or on the network edge, with orchestration capabilities to keep things in sync.
  6. New chips for Azure data centers: Microsoft Azure Maia – an AI accelerator designed to run cloud-based training and inferencing for AI workloads such as OpenAI models, Bing, GitHub Copilot, and ChatGPT. Microsoft Azure Cobalt – a cloud-native chip based on Arm architecture optimized for performance, power efficiency, and cost-effectiveness for general purpose workloads.
  7. GA of Azure Boost – a system that makes storage and networking faster by moving those processes off host servers onto purpose-built hardware and software. The system enables greater network and storage performance at scale, improves security, and reduces the maintenance impact for future Azure software and hardware upgrades.
  8. Improvements to Microsoft’s enterprise communication tools, Microsoft Viva Engage, include using AI to enable peer-to-peer learning with a database of answers to FAQs provided by SMEs. An additional update to Answers in Viva will roll out before 2024, where answers can be generated with AI based on training files from other sources. These improvements are quick ways to switch from legacy knowledge management or to share resources across systems.
  9. SharePoint Premium brings AI, automation, and added security to content experiences, processing, and governance. Users will be able to engage, manage, and protect content in new ways, and prepare it for Copilot for Microsoft 365.

For even more new products and features from Microsoft, check out the Microsoft Ignite Book of News.

Perficient + Microsoft

We are an award-winning Microsoft Solutions Partner, and we’re a recognized expert for delivering strategic solutions across the Microsoft Cloud. Whether it’s application modernization, cloud-native development, employee experience, hybrid work, or intelligent business applications for employees, our 20+ years of Microsoft experience brings true business transformation.

]]>
https://blogs.perficient.com/2023/11/24/microsoft-ignite-nine-exciting-product-announcements-and-key-takeaways/feed/ 1 350069
Learn SharePoint Online Modern Site Provisioning Using PnP Provisioning Engine and PnP PowerShell https://blogs.perficient.com/2022/06/23/learn-sharepoint-online-modern-site-provisioning-using-pnp-provisioning-engine-and-pnp-powershell/ https://blogs.perficient.com/2022/06/23/learn-sharepoint-online-modern-site-provisioning-using-pnp-provisioning-engine-and-pnp-powershell/#respond Thu, 23 Jun 2022 15:00:22 +0000 https://blogs.perficient.com/?p=311444

The PnP Provisioning framework is a code-centric and template-based platform for provisioning your site collections. The new provisioning engine allows you to persist and reuse provisioning models in Office 365, SharePoint Online, and on-premises site collections.

This blog will demonstrate how to provision a Team site using PnP PowerShell. In this process, we will make use of an existing SharePoint site to create a reusable template. By using this template, we can create exactly similar sites multiple times for multiple customers.

Knowing Your Prerequisites

For executing certain commands, you should have the PnP PowerShell framework already installed on your computer. If it’s not installed, you can simply install it by executing the following command in the command prompt:

Install-Module -Name PnP.PowerShell

Or you can refer to this link for further directions on the PnP PowerShell installation.

Once you’re done, run Windows PowerShell in “administrator” mode and execute the following command to install the PnP PowerShell module for SharePoint Online:

Install-Module SharePointPnPPowerShellOnline

If you are executing PnP PowerShell commands for the first time in your system, then you may need to grant access to PowerShell to your SharePoint online site. To provide access, execute the following command in Windows PowerShell:

Register-PnPManagementShellAccess

Now you are all set to execute PnP PowerShell commands in your system.

Understanding the Process Overview

The following image shows the basic process that we will follow to provision a website using the PnP Provisioning framework:

  1. Extracting template
  2. Customizing artifacts and other configurations in the template
  3. Applying a template to the new target site

How to Extract the Site Template

As already mentioned, we will use an existing site for setting up our PnP template. The easiest way to a custom provisioning template is to create a fresh new site collection manually in SharePoint Online, configure your artifacts (site columns, content types, lists, and pages), and save the result as a provisioning template.

Once the site is set up, we will extract the template from that site using PnP PowerShell.

Please follow these next steps:

  • Open Windows PowerShell in “Administrator” mode
  • Connect to the newly created site by executing the following command:

Connect-PnPOnline -Url <sitecollectionUrl>

This command will establish the connection to your site collection from PowerShell. You can access all the artifacts such as lists, libraries, site assets, permissions, site details, and more. for the currently connected site using PnP PowerShell commands.

  • You will be prompted to enter credentials, so enter the login credentials for your site.
  • In case you’re not given a prompt for entering your credentials, create a credential object and pass it to the “Connect” command:

$user = “<login-username>”

$secpasswd = ConvertTo-SecureString “<password>” -AsPlainText -Force

$mycreds = New-Object System.Management.Automation.PSCredential ($user, $secpasswd)

Connect-PnPOnline -url $siteAdminURL -Credentials $mycreds

  • Execute the following command to export the site template in an XML format:

Get-PnPSiteTemplate -Out “D:\PnP-TemplateForSite.xml”

In this command, you can specify the path for where you should download the template and what to name the template file. In this case, the template will be created in “D:\” drive with the name “PnP-TemplateForSite.xml.”

The template is created at its specific path once the command is executed. This will be a .xml file since we provided the “.xml” extension in a file name. The template will look like the following:

This is what our PnP template will look like. This template contains all details about the PnP provisioning schema version, name, and more. It has different tags for configuring or customizing a website. We can configure the website logo, lists, website members, website fields, website navigations, permissions, and security from this template.

Parameters for custom configuration extraction

We can decide the configurations that we need to extract in the PnP template from the existing site by adding additional parameters in the “Get-PnPSiteTemplate” command. We can use different parameters in the command. For more information on different parameters, you can refer to this link.

Create a New Site or Target Site Using PnP PowerShell

After the template is extracted, we can apply this template to any newly created website. Before we create the template, we will create a new modern site using the PnP PowerShell command below:

New-PnPSite -Type TeamSite -Title “New Target Site”

The code will ask you to set an alias name after executing the command. You’ll provide an alias name and press “enter.” It will then begin creating the website on the connected tenant. As a note, site creation may take some time. After the site is created, the new site URL will display in the Windows PowerShell as shown in the following image:

Applying the PnP Template to the New Target Site

Before applying the extracted provisioning template to the newly created target website, you need to make sure that the new target site is up and running properly. To do this, we’ll first need to connect to the new target site from PnP PowerShell and then we’ll apply the template to it. For this, execute the following commands in Windows PowerShell:

Connect-PnPOnline -Url <targetSiteUrl>

Invoke-PnPSiteTemplate -Path “D:\PnP-TemplateForSite.xml”

The “–Path” argument refers to the source template file that we created in previous steps “PnP-TemplateForSite.xml.” While specifying the file name, make sure it will not have spaces in the file name.

Once the command is executed, you will see the progress for template provisioning to the site as follows.

Applying the template may take 20-30 minutes if the template has too many customizations. This time may vary depending on the complexity of the PnP template we’re applying to the site. When the command execution is completed, you can see that the target site has all the customization and set of artifacts that we configured in the PnP template applied to it.

We can apply the same template to as many sites as we want. This process allows us to automate the creation of multiple identical sites with the same set of lists, libraries, content types, site fields, permissions, and others without taking any extra effort to configure all these things manually for each site.

To Conclude…

In this blog, we learned how to use PnP PowerShell and PnP Provisioning Template to apply a custom template to a newly created site to automate the creation process and apply customized artifacts and configurations. For more information, contact our commerce experts today.

]]>
https://blogs.perficient.com/2022/06/23/learn-sharepoint-online-modern-site-provisioning-using-pnp-provisioning-engine-and-pnp-powershell/feed/ 0 311444
How to Install PnP PowerShell for SharePoint Online and Azure Cloud Shell https://blogs.perficient.com/2022/06/15/how-to-install-pnp-powershell-for-sharepoint-online-and-azure-cloud-shell/ https://blogs.perficient.com/2022/06/15/how-to-install-pnp-powershell-for-sharepoint-online-and-azure-cloud-shell/#respond Wed, 15 Jun 2022 14:00:34 +0000 https://blogs.perficient.com/?p=311070

SharePoint Patterns and Practices (PnP) contains a library of PowerShell commands (PnP PowerShell) that allows you to perform complex provisioning and artifact management actions towards SharePoint.

What is PnP?

PnP PowerShell is a cross-platform PowerShell, and it is a .NET Core 3.1 / .NET Framework 4.6.1 based PowerShell Module providing over 600 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.

Why do we need PnP PowerShell?

Microsoft has provided additional PnP PowerShell cmdlets to the SharePoint Online cmdlets. I believe the PnP PowerShell cmdlets are developer-focused and provide the means to manage artifacts in SharePoint, such as lists, views, fields, content types, and so on.

PnP PowerShell internally implements the Client-Side object model for its operations. This makes the operations adaptable. The same set of operations can be executed on any SharePoint environment. Using PnP PowerShell, a single line of code is used to access an object on SharePoint, wherein with the traditional Client-Side or Server-Side object model, multiple lines of code are required to access the objects. The code complexity reduces through this implementation.

It is recommended to use PowerShell 7.x, which can be installed by following these instructions (although most of the cmdlets should work under PowerShell 5.x as well):

First, open the Windows PowerShell console as an Administrator and do the following to install PnP.PowerShell module:

  1. Uninstall the Legacy SharePointPnPPowerShellOnline Module if installed already:

Uninstall-Module SharePointPnPPowerShellOnline -Force –AllVersions

  1. Install the New PnP PowerShell Module with the following code:

Install-Module PnP.PowerShell

  1. If you want to install or update to the latest built pre-release of PnP PowerShell, run the following code:

Install-Module -Name “PnP.PowerShell” -AllowPrerelease

  1. Connect to the SharePoint Online Admin Centre of your tenant with the following code:

Connect-PnPOnline -Url https://tenant-admin.sharepoint.com -Interactive

  1. The following command will give you a list of PnP PowerShell commands to design your SharePoint website:

Get-Command -Module PnP

In case you would like to uninstall PnP PowerShell again, you can run the following:

Uninstall-Module -Name “PnP.PowerShell”

How to Use PnP PowerShell in the Azure Cloud Shell

Open the Azure Cloud Shell at https://shell.azure.com and select PowerShell as your shell and enter:

Install-Module -Name “PnP.PowerShell”

The next time you open the Azure Cloud Shell, PnP PowerShell will be available for you to use.

In Summary

In this tutorial, we went over how to install PnP PowerShell and discussed multiple different instances of why and where PnP PowerShell is resourceful.

For more information, contact our commerce experts today.

]]>
https://blogs.perficient.com/2022/06/15/how-to-install-pnp-powershell-for-sharepoint-online-and-azure-cloud-shell/feed/ 0 311070
Configure Organization Assets Library in SharePoint Online https://blogs.perficient.com/2022/05/24/configure-organization-assets-library-in-sharepoint-online/ https://blogs.perficient.com/2022/05/24/configure-organization-assets-library-in-sharepoint-online/#comments Wed, 25 May 2022 02:40:26 +0000 https://blogs.perficient.com/?p=304324

What is Organization Assets Library?

In SharePoint Online, you can create your company specific assets library, which can store images provided by your company to use in your SharePoint environment by all site owners.

Types of Organization Assets

You can create two types of organization assets:

1) Images

After Organization Assets Library is configured successfully, when a user adds the “Image web part” to any modern page in SharePoint Online, user will see “Your organization” option in the left pane to browse images from the libraries

Your Organization

2) Office Templates

After Office Template Library is configured successfully, when a user selects to create a new Word document, Excel workbook, or PowerPoint presentation, user will see your company name tab to browse the templates under “New”

Officetemplates

The files uploaded to the library must be in the template format .dotx, .xltx, .potx.

(Learn how to save a Word document, Excel workbook, PowerPoint file as a template)

How to configure Organization Assets Library

  1. Create a modern SharePoint site, (it can be a Team site or a Communication site). Name it as “Organization Assets Library”.
  2. You can create one or more document libraries under this site:
      • For Example: Banner Library, Icon Library, Logo Library, Executive Personnel Photo Library, Office Templates Library, etc…
      • You can specify up to 30 organization asset libraries for your company
      • Only libraries can be set as organization asset libraries. Folders can not be set as organization asset libraries.
  3. Set the permissions on the site. Add the people you want to be able to upload files as members of the site. Add “Everyone except external users” as visitors
  4. Provide user training and guidance for better user adoption across the organiation
  5. Now upload images or Office templates to the relevant document libraries
  6. Superpower for this feature is that when you update an image or logo, it is automatically updated on every site and page that uses the image!
  7. Use this PowerShell command to specify each library as an organization assets library
    Add-SPOOrgAssetsLibrary -LibraryUrl [-ThumbnailUrl ] [-OrgAssetType ] [-CdnType ]
    
    Add-SPOOrgAssetsLibrary -LibraryUrl https://abc.sharepoint.com/sites/OrgAssets/Logos -ThumbnailUrl https://abc.sharepoint.com/sites/OrgAssets/Logos/logo.png -OrgAssetType ImageDocumentLibrary -CdnType Private
    LibraryURL Absolute URL of the library
    ThumbnailURL This is the URL for the image file that you want to appear in the card’s background (This image must be on the same site as the library)
    OrgAssetType This is either “ImageDocumentLibrary” or “OfficeTemplateLibrary”. (If you don’t specify the OrgAssetType, the library will be designated as an image library by default)
    CdnType

     

    If you don’t specify the CdnType, it will enable a private CDN by default. Learn more about the Add-SPOOrgAssetsLibrary cmdlet

    Adding an organization assets library will enable a content delivery network (CDN) for your organization to provide fast and reliable performance for shared assets.

    You must be wondering, what is CDN?

    CDN stands for Content Delivery Network

    • CDN will make pages load faster
    • It is an ability to make it more efficient for people in your organization to be using these common set of files
    • It is sort of like a cache

    You’ll be prompted to enable a CDN for each organization asset library you add.

    For more information, see Content Delivery Networks (CDNs).

  8. After running above command, allow up to 24 hours for the organization assets library to appear for end users in the desktop apps
  9. Use this PowerShell command to specify Office Template Library
Add-SPOOrgAssetsLibrary -LibraryUrl https://abc.sharepoint.com/sites/OrgAssets/OfficeTemplates -OrgAssetType OfficeTemplateLibrary

How to remove a library that was designated as an Organization Assets Library

This PowerShell command removes a library that was designated as a central location for organization assets across the tenant. Once this command is run, this library will no longer be available from the “Your organization” tab in the file picker.

Remove-SPOOrgAssetsLibrary -ListId 58454454-6546-6466-9769-646464623988

Now you must be thinking – How to find SharePoint List ID?

  • Go to List Settings, Copy the URL, and find the text after “List=”
  • Remove “%7B” from the front of the list
  • Remove “%7D” from the end of the list
  • Change %2 to hyphen

How to update the thumbnail URL for designated Organization Assets Library

This PowerShell command updates/changes a thumbnail image (Green solid box) for organization assets library.

Set-SPOOrgAssetsLibrary -LibraryURL https://abc.sharepoint.com/sites/OrgAssets/Logos -ThumbnailURL https://abc.sharepoint.com/sites/OrgAssets/Logos/newthumbnail.png

Thumbnail

Configure this cool feature for your tenant and let me know how you like it!

]]>
https://blogs.perficient.com/2022/05/24/configure-organization-assets-library-in-sharepoint-online/feed/ 6 304324
People of Perficient: Meet Amarender Peddamalku https://blogs.perficient.com/2022/05/06/people-of-perficient-meet-amarender-peddamalku/ https://blogs.perficient.com/2022/05/06/people-of-perficient-meet-amarender-peddamalku/#respond Fri, 06 May 2022 16:41:24 +0000 https://blogs.perficient.com/?p=309151

Amarender Peddamalku Embodies a Lifelong-Learner Approach & Enjoys Sharing His Expertise

At Perficient, we are proud of our global colleagues that bring their unique perspectives to work every day. As a part of Perficient’s People Promise, we look to foster a culture that embeds Growth for Everyone. Amarender Peddamalku takes this to heart and enjoys the opportunities he has to learn and grow at Perficient.

I had the privilege of taking some time to get to know Amarender, who prioritizes learning and inspires his colleagues and the wider tech community through sharing his expertise. Read on to learn more about Amarender and the impact he’s made throughout his career!

What is your role?Amarender Peddamalku

I’m a Practice Lead & Practice Architect for Perficient’s Microsoft Modern Work Practice. I have almost 14 years of experience in total with Microsoft Technologies, but I joined Perficient a little over a year ago. (I actually hit my one year on April 19th!)

I oversee the technical delivery of different engagements and I help clients with their digital transformation. I meet them at the intersection of business and technology – making sure my clients are successful in realizing their vision. I help them as a trusted advisor and thought leader in a given technology space.

Basically, I’m trying to solve the most complex business problems by understanding the problem first and then working backward to pick a technology and implement a solution. Understanding the client’s needs and making sure they’re successful is extremely important to me, and that’s what I really care about.

So what does a “day in the life” look like for you in your role?

Day in a life is a combination of a lot of things. I’m split across multiple accounts, so I’ll be part of sales engagements for some part of the day and then come back to the technical delivery for other parts. I’ll make sure everything is flowing smoothly at the client location, and if there are any concerns, we’ll come up with remediation plans.

In addition to client work, I also focus on supporting our internal talent. Asking questions like “How are we collaborating?” or “How can we make the Microsoft BU a place where everyone can express themselves and learn from others?” Let’s say I’m stuck with something. I put a post in our Teams channel and various people with different backgrounds chime in and offer solutions. That expedites my troubleshooting, but it also enables a collaborative culture among our BU. I support the development of that culture for existing colleagues. I also support recruitment which means sometimes interviewing potential candidates and other internal tasks.

Amarender Speaking SharePoint event

Amarender speaking at a Richmond, VA SharePoint User Group

I’m also a public speaker. I speak at M365 events, SharePoint events, and local user groups. I love to share the knowledge I’ve gained over the years with the community. I care about educating others and bringing awareness and letting them know what’s going on in the world and at the same time learning from others.

They say you should know three times more than what you’re presenting, so it keeps me on my toes. I get a chance to meet new people, bring value to the community, and represent Perficient which helps with brand awareness. Every day is a different learning experience, but at a high level, that’s what I do.

So how did you wind up at Perficient?

I met Ron Jones (Perficient’s Microsoft Modern Work Director) about 4 years ago when he was the event organizer at one of my speaking engagements. We stayed in touch, and then last year I thought of exploring some new opportunities. I saw Ron’s post on LinkedIn about an opening at Perficient, looked up who Perficient is, and then got in touch with Ron Jones. And here I am a year later!

So, you’ve been here for a year. What kind of growth have you seen in the last year? What have you learned?

Personally, I’ve grown a lot in the last year or so. I’ve been challenged on multiple projects and pushed out of my comfort zone a bit (which I love). That way you’re constantly learning! A day without learning is a waste for me, no matter how small it is. It wouldn’t be fun to do the same thing every day, in and out. I’d just get bored.

I’m curious to learn, I’m willing to explore, and I’m willing to make mistakes, but learn from the mistakes quickly to not repeat them. And if I’m getting better as a person each day, that helps everyone.

From the technology perspective, it’s been an opportunity for me to explore areas that I didn’t explore in the past – whether it’s the Power Apps, portals, Power Platform in general, Azure B2C authentication, or how things would work with the portals and Microsoft Cloud for healthcare clients.

I’ve enjoyed every bit of my time at Perficient. As I’ve said, I span into a lot of areas, but the most enjoyable part is the people that I work with. They’re open and willing to work together. For us to achieve success, everyone brings value to the table and we work to achieve a common goal. And that’s what I love doing.

What motivates you? It seems like learning new things every day and solving clients’ business problems, anything else?

The whole goal at the end of the day is to make sure that your client is successful and then you work backward. The customer is the ultimate boss and that’s who you want to see successful. You go through this journey of exploring things, experimenting with things, coming up with innovative ideas to solve the business problems, and in the process, of course, you learn a lot of new things. It’s the journey that I enjoy, and the ultimate result is customer success.

What are some of your proudest accomplishments in your career or personal life? Either at Perficient or before that, what’s been the highlights?

I’ve had many highlights throughout my career. I’ve built multiple solutions which enabled change for the customer experience. For example, I worked with a Fortune 500 financial company and spent a year architecting a solution and overseeing the delivery. Now, if you go to their credit cards application page, when you put in your information it brings back a approval decision in less than 30 seconds, which is amazing. You don’t have to wait for the approvals or wait for the paper mail to arrive. The decision is guaranteed within 30 seconds and most of the time it actually happens within a few seconds.  To see millions of users use the application I built – which changes their experience interacting with the banking application – that motivates me.

Another project I’m proud of is a power outage application I built for a power supply company in Virginia. When your power is out, you go to their website, and you report an outage. I built that system end-to-end for end-users to use in a real-world scenario when their lights are off. That brings a smile to my face – not necessarily the lights are going off! – but the application that I built serving people at the right time in the right way.

I was also the lead architect on a mobile app for Universal Studios Florida. Obviously, a lot of people buy day tickets and on a busy day, it’s not easy to cover everything in the park. Not to mention that for the most popular rides in the park, you may have to wait up to 2 1/2 hours in the line to ride. What I introduced was a wait time alert concept. If you download their app, you can sign up for a wait time, like, “Notify me when this ride’s wait time goes to 10 minutes”. It uses sensors in the line to see how long the line is and depending on that, you get notified based on whatever wait time you set up on your mobile app.

At Perficient, I worked on our application for VITAS which improves the patient care journey. (We were actually listed as a finalist for Microsoft’s Healthcare Partner of the Year for this solution!) This was one of the applications where we really made a positive impact for people coming in and waiting in the office, making sure the right personnel is attending to the right patient, making sure they are getting treatment in time, making sure they’re getting the right services again in time, which is really important. You don’t get a chance to touch people’s lives through technology every day and doing so has been one level up from anything I’ve done in the past.

And one last thing, about 10 years back I built the Intranet portal for a health system in Virginia. I’ve been there since then when my wife went to deliver both our babies at the hospital (one five years ago, one recently 9 months ago). And I saw they were still using the Intranet that I built for them, and it was helping them to be more efficient in a day. It’s those moments when I’m most proud.

I love solving questions like “How do you enhance the customer experience regardless of the technology or solution?” I care about improving the experience of the customer and then bringing smiles and efficiency into whatever that experience is.

So you and your wife just had a new baby 9 months ago. How have you balanced your work life and your home life?

Amarender Traveling

Amarender enjoys traveling, pictured here in Canada

Yes, I’m a proud dad – my wife and I have two children. I love my work and what I do but family is absolutely my priority. It’s been a blessing to work remotely, and I’ve seen my little one grow which I didn’t get a chance to do with my first one. I really love the flexibility where I can watch and play with my little one every now and then whenever I take breaks. Since I am at home, I can help my wife with whatever she needs help with, and at the same time take care of my work.

Usually, my day lasts from like 8:30 to 5:30ish. And after 5:30 I don’t open my laptop, check my emails, or anything unless the roof is on the fire! That mental disconnect is really important. Of course, there are exceptions when something is going on or you’re going through production deployment, or a client has a burning issue, stuff like that.

But leaving those exceptions aside, I’m trying different things to recharge my battery on a daily basis without constantly having in the back of my mind things that went well in a day or what I want to do tomorrow. In an ideal world, I would be completely unplugged from work after 5:30 or 6. It’s a process, and I’m not there yet but maybe I’ll get there one day!

What’s something surprising that people may not know about you or your background or your career? 

A lot of people might not know my background. I was born and raised in India, I finished my bachelor’s in India and then came to the United States 12 years ago to pursue my master’s, then started to like what I was doing so I continued with it. Usually, people will say they can tell if someone is from a different country by the accent or something. But a lot of people say they can’t tell with me. Maybe it’s a good thing or a bad thing, I don’t know. But that’s one thing that people can be surprised by!

Where in India did you grow up?

A city called Hyderabad, in a southern part of India. Information Technology is really big in that city and we have a lot of IT talent. All the big IT companies have branches like Microsoft, Facebook, Google, you name it. Perficient has quite a few branches in India, and I would love to see us expand our global offices to Hyderabad. I’ll gladly help!

Is there anything else that you’d like people to know about working at Perficient or about you?

Working at Perficient, diversity and inclusion are both important. ‘Diversity and inclusion’ means making sure regardless of your sex, race, or color, you’re treated fairly and equally. We try to give every single opportunity for people to excel no matter what they do — business analyst, tester, architect or project manager, everyone has their own skillset.

We learn from one another, and we encourage each other – especially when the chips are down. We try to create a culture where they can be at their best. Because when people are at their best collectively, you achieve success! It’s that collective effort that makes us successful and personally it has been a tremendous joy for me to be part of Perficient for the last year or so.

 

Do you have any upcoming speaking engagements that you’d like to promote?

Yes, I have three sessions during Microsoft 365 Educon in Chicago (September 26-30, 2022):

  • September 28 @ 11:30am CDT – Power Automate Multi-Stage Approval Workflows
  • September 29 @ 3:50pm CDT – Build external-facing websites using Power Apps portals
  • September 30 @ 12:30pm CDT – Automate content processing using AI & SharePoint Syntex

I want to thank Perficient for sponsoring my travel to Chicago as well as sponsoring travel for a recent Atlanta User Group where I presented with Ron Jones. Very grateful for that!


READY TO GROW YOUR CAREER?

It’s no secret our success is because of our people. No matter the technology or time zone, our colleagues are committed to delivering innovative, end-to-end digital solutions for the world’s biggest brands, and we bring a collaborative spirit to every interaction. We’re always seeking the best and brightest to work with us. Join our team and experience a culture that challenges, champions, and celebrates our people.

Visit our Careers page to see career opportunities and more!

Go inside Life at Perficient and connect with us on LinkedInYouTubeTwitterFacebook, and Instagram.

]]>
https://blogs.perficient.com/2022/05/06/people-of-perficient-meet-amarender-peddamalku/feed/ 0 309151
Understanding and Creating Multi-Click Images and Map Links in SharePoint Online https://blogs.perficient.com/2021/07/30/understanding-and-creating-multi-click-images-and-map-links-in-sharepoint-online/ https://blogs.perficient.com/2021/07/30/understanding-and-creating-multi-click-images-and-map-links-in-sharepoint-online/#respond Fri, 30 Jul 2021 15:00:38 +0000 https://blogs.perficient.com/?p=295816

This tutorial walks you through how to add multiple hyperlinks inside an image and embed it into a SharePoint page. To add a hyperlink to an image, we want to map the link in the image with its coordinates. You can easily accomplish this through an image map. 

Image Maps 

An image map allows a user to click on different clickable areas of the image and be linked to different destinations, making it easy to navigate to a different page. By using image mapping, you can define linked areas inside an image, thus allowing the image to have several clickable areas 

There are two ways to create a multi-clickable area in an image:  

  1. Create an image map in classic SharePoint online. 
  2. Create a multi-click image using PowerPoint in modern SharePoint online. 

Create an Image Map in Classic SharePoint Online 

First, I selected the image below. 

123

Now we’ll create an image clickable area for those numbers. When a user clicks on number 1, then the test 1 page will open. When a user clicks on number 2, the test 2 page will show, and the same for number 3 also.

For that to happen, we need to create the clickable area of the image using the Free Image Map generator. We can upload the image by clicking on the “Select Image from My PC,” or we can also load images from a website by clicking on the “Load Image from Website” button. See below for what you’ll see once it’s uploaded:

After this, select the bubble under “active” on the left, then select “Rect” from the shape dropdown.

Click on number one on the top left corner of the image. Then, click on number one on the bottom right corner. You can adjust the rectangle map area on the image.

Fill in all of the details needed:

  • Link (page URL)
  • Title (page name)
  • Target (_blank)

Clicking “add new area” will allow you to create multiple clickable map areas on the image. Do this to repeat the same process as before for numbers two and three on that image.

Click on “show me the code,” and a code dialog will appear.

Select “all,” copy the code, and change the image source path to where the image will be uploaded, which is in the SharePoint site path like below:

Go to the classic SharePoint site, edit the page, add the script editor web part, and paste the code. It will display as shown in the screenshots below:

Click on, “add a web part.”

Click on the folder, “media and content,” “script editor,” and “add script editor web part.”

Click on the “insert” button.

Now, try to click on number one.

If we click on number one, it will redirect to the “Test1.aspx” page. It will do the same as for numbers two and three.

Create a Multi-Click Image Using PowerPoint in Modern SharePoint Online

Open PowerPoint, insert the number image, and follow these steps:

Step 1: Select your image. Click on “insert” to add your picture.

Step 2: Click on “shapes,” select a rectangle shape, draw a rectangle on top of number one, and adjust the area where a user can click for number one.

Step 3: Right click on the rectangle shape and click “link.” Add the URL of where you’ll want the user to end up.

Step 4: A dialog box will appear. Add the URL in the address field and select “ok.”

Step 5: Click on “shape fill” and click “no fill” to make it transparent.

Step 6: Click on “shape outline” and click “no outline” so that the border isn’t visible.

Step 7: Repeat the same steps from 1 to 6 for number 2 and 3.

Step 8: Save the PowerPoint file in a local drive.

Step 9: Go to the SharePoint site page and edit the page.

Step 10: Add the “file viewer” webpart, select that PowerPoint, and save/publish the page.

Then, click on number one on the image. It will navigate to the test 1 page.

Easy SharePoint Knowledge to Utilize

I hope this tutorial will help to implement image mapping in SharePoint online. For any other questions or information on this topic, contact our experts today.

]]>
https://blogs.perficient.com/2021/07/30/understanding-and-creating-multi-click-images-and-map-links-in-sharepoint-online/feed/ 0 295816
The Difference between a SharePoint Modern Team Site and a Communication Site and How to Create Both https://blogs.perficient.com/2021/07/20/the-difference-between-a-sharepoint-modern-team-site-and-a-communication-site-and-how-to-create-both/ https://blogs.perficient.com/2021/07/20/the-difference-between-a-sharepoint-modern-team-site-and-a-communication-site-and-how-to-create-both/#respond Tue, 20 Jul 2021 14:00:37 +0000 https://blogs.perficient.com/?p=294966

Both modern team and communication sites are different since they are based on different site templates. In this blog, I will demonstrate how to create a new communication site and team site in SharePoint Online and explain their differences.

There are a couple of ways to create a team and communication site in SharePoint:

  1. SharePoint Online
  2. Using PowerShell

Create a New Communication Site in SharePoint Online

To create a communication site in SharePoint Online, follow these steps:

  1. Login to the SharePoint Admin as a “tenant admin” or a “SharePoint Online Administrator.”
  2. Go to “admin” and click on “SharePoint.”

  1. Find “active sites” under the “sites” tab.

  1. Click on “active sites.” Then click on “create.”

  2. From the options available, choose “communication site” to create a new communication site collection.

  1. Name the site. This will become the URL of the site. You can edit the URL if needed. These sites are created under the “/sites” managed path by default.

  2. Optionally, under the “advanced settings,” select the language and set the description by adding text that lets people know the purpose of your site and then click “finish.”

Create a New Team Site in SharePoint Online

  1. To create a team site, select “team site.” Name the site and its group owners on the screen below:

  1. To set your privacy settings and language, expand the “advanced settings” and set the site’s privacy to a private site or public site. Then, click the “next” button.

How to Create a Communication and Team Site Using PowerShell

Open “Windows PowerShell” in admin mode. To create the site, you must also have admin rights to run the below script:

#Define Parameters

$AdminCenterURL = “https://domain-admin.sharepoint.com/”

$SiteURL = “https://domain.sharepoint.com/sites/communications”

$SiteTitle = “Modern Communication Site”

$SiteOwner = “John.doe@domain.com”

 

#Connect to SharePoint Online. Login with your credential

Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)

 

#Create new communication site

New-SPOSite -Url $SiteURL -Owner $SiteOwner -Template “SITEPAGEPUBLISHING#0” -StorageQuota 1024 -Title $SiteTitle

  1. For Communication site SITEPAGEPUBLISHING#0” and team site “STS#3” or “STS#0” is used.

The Differences between a Team Site and a Communication Site

We can create a team site by using these templates:

  1. Team site
  2. Document Center
  3. Enterprise Wiki
  4. Publishing Portal

For more options, click the “other option” button as shown below:

On the other hand, a communication site has no options.

Other Major Differences

For anyone working in a team, you’ll want to use a team site to collaborate and work together on a task. When you want to share information with a larger group of people, you will use a communications site.

Other important information to know is:

  • A team and communication site have two different homepages.
  • We cannot create a classic style page on a communication site.
  • The planner web part is available on the team site, which is a Microsoft 365 service that lets you create a task board and add your team’s tasks and assignments. On your planner board, you can sort your tasks into columns (or buckets). Buckets can indicate stages of development, days of the week, sprints, and more. You can move tasks around your board just by dragging and dropping them.

  1. After creating both a team and communication site, you will see some libraries added by default for the team site but not for the communication site.

  1. “Site assets” initially will not show up in the communication site. To get “site assets,” you need to activate the following:
  • To enable the “site assets” library, go to “site settings,” “site actions,” and click on “manage site features.” This will open the “features page.”
  • You will find the “wiki page home page” and activate it.
  1. On the communications site, we can only create a site page. On a team site, we can create a wiki page, web part page, and site page as shown below:

  1. Communication sites do not have left navigation, but modern team sites have both top and left navigation.

  2. Communication sites don’t have an Office 365 group, but it’s available on a team site.

  1. When we create a SharePoint team site, an Office 365 group is automatically created. An Office 365 group is not created for a communications site.
  2. If we use the “STS#0” template to create a team site, then the “Connect to New Microsoft 365 Group” option will show.
  3. Pages in a communication site can have a full-width section that can contain an image or a hero web part. Team sites only have a one-column section, and it doesn’t go the full width.
  4. Any non-technical person can create a communication site as compared to a team site. Users can add text, events, news, an image gallery, and other web parts easily on-page.

Create Either Site in No Time

I hope this explanation for how to create a team site, a communication site, and their key differences have been helpful.  For more information on SharePoint, contact our experts today.

]]>
https://blogs.perficient.com/2021/07/20/the-difference-between-a-sharepoint-modern-team-site-and-a-communication-site-and-how-to-create-both/feed/ 0 294966