Tag Archive for SharePoint

Send Custom Emails Using Azure Functions as Scheduled Tasks in SharePoint Online

Recently, a client of ours was looking to have a daily email sent to each user that has an overdue task, or a task that is set to expire. The email had a specific format. Each task needed direct links and had to be grouped by the date that it was due. Since it was an on-premises Project Server and SharePoint 2013 farm, it was not too difficult to build and embed the solution into the farm. I took care of this by building a SharePoint timer job, which leveraged a SharePoint search to retrieve all tasks where the due date was before the next business day. Once deployed, and activated, this timer job was automatically scheduled to run every morning, and the SharePoint admins could trigger it manually.  Everything worked great.

Another client of ours was looking for a solution exactly like this, except they were strictly SharePoint Online / Project Online. They had no on-premises farm, there were no real servers to even speak of. One option would have been to create a PowerShell script or .NET executable to run the code, and have that process run as a Scheduled Task on some server. However, there were no servers. Even if they did, what was the point of being in the cloud, if you are still stuck with a foot (or process) on the ground?

So, I turned to Microsoft Azure, and that’s where Azure Functions came into play.

Azure Functions

Azure Functions are programs or code snippets that run in the cloud. They can run on schedules or can be triggered by different types of events (HTTP request, item added to Azure Blob Storage, Excel file saved to OneDrive, etc.). Think of this as a Windows Scheduled Task that can be triggered by modern events and activities.

The programs or code snippets can be created and edited within the Azure Portal, making it easy to get up and running with an Azure Function. The languages supported by Azure Functions are more than adequate: PowerShell, C#, JavaScript, F#, Python, PHP, Bash, and Batch.

Note that I could have also used Azure WebJobs to accomplish this, but I felt that Azure Functions had many positives. Azure Functions are easy for the client to maintain, it has automatic scaling, they only pay for how long the code executes, it supports WebHooks and can be easily triggered via an HTTP request.

Send Custom Emails from SharePoint Online

For this solution, I created the Azure Function in Visual Studio pre-compiled with the SharePoint Online client-side object model (CSOM) DLLs. The solution was straightforward, as it would use CSOM to query SharePoint Online’s search service for all overdue tasks and tasks due within the next business day. It would then do some logic to build the email content based on the assigned users, and then send out emails using SendGrid. SendGrid is built into Microsoft Azure, so configuring it was a breeze, and you get 25,000 free emails a month!

Once deployed, I configured the Azure Function to run on schedule (like before), and it can even be triggered by an HTTP request, so putting an HTTP request in a SharePoint site workflow or Microsoft Flow means that any site user would be able to trigger this function as needed.

Long gone are the days where there are integration servers laying around in the data center waiting to get more processes to help them consume more of their over-allocated resources. Most servers, virtual machines, really, are now dedicated to a specific application, and shouldn’t share their resources with one-off processes.

Azure Functions is a great server-less architecture solution to these problems. Whether you need to send emails, calculate metrics, or analyze big data, Azure Functions can be a solution for you. Learn more about how BlumShapiro can help your organization with issues like this.

About Brent:

Brent

Brent Harvey has over 10 years of software development experience with a specific focus on SharePoint, Project Server, and C #and web development. Brent is an Architect at BlumShapiro Consulting. Brent is a Microsoft Certified Solutions Expert in SharePoint 2013, Solutions Associate in Windows Server 2012, Specialist in Developing Azure Solutions and Professional Developer in SharePoint 2010.

SharePoint Mobile App Review, Tips and Tricks

Today I’d like to discuss the new SharePoint Mobile App, aka the Intranet in your pocket. In 2016, Microsoft released SharePoint 2016, along with a mobile application for the product. If you have not already downloaded the app, I highly suggest you download it, and follow along with the tips provided below. This post will serve as an introduction to the SharePoint Mobile app, highlight some of its capabilities and provide tips to make sure you take advantage of the features offered. So, let’s get started.

SharePoint Sites Feature

Sites 1It is important to understand that SharePoint is hierarchical and the sites screen illustrates this concept. This concept was not illustrated well in the current mobile web view of SharePoint, so the progress made with the app has not gone unnoticed. The mobile app provides a clean and simple sites screen, and by default settings, sites are ordered by your most recent activity. The sites screen menu provides access to view lists, libraries and sub-sites. Along with seeing the sites that you use, you also have the ability to share sites with others, or mark one as a favorite. This screen brings the best of SharePoint right to your fingertips and is a perfect start.

Embedded Browser View

A view of a site in an embedded browser view.

While navigating between sites the app will display each site differently. Some sites will load via an embedded browser in the app whereas others will have a native app screen. The embedded browser view is SharePoint’s mobile web view, and while it is not as clean or user-friendly as a native screen, it still provides the ability to see the site’s content. In the past, the mobile web view would open every site on a separate browser page causing confusion and a poor user experience, so having the embedded browser view for sites as part of the mobile app navigation is a major improvement.

Quick Tip

If you regularly use a site, I highly recommend pressing the “star” button on the site screen. This will add the site to the “Following” tab for quicker access. Remember to remove sites which you no longer have an interest in, by un-clicking on the “star” button.

SharePoint Links Feature

LinksMicrosoft knows that SharePoint is a great tool for collaboration, sharing and empowering users. The links screen provides you with easy access to both internal and external resources.  If your company has a “Quick Links” section on their intranet, then those links should also display on the SharePoint App.  If you don’t see any links displayed, contact your administrator and request that they update the “Featured Links” section in Office 365.

 

SharePoint People Feature

PeopleThe people screen provides you with direct access to your contact list and their profile pages. Creating and managing your contacts is key to getting the most out of SharePoint. If you have never used the Microsoft contacts capabilities, now is a great time to give it a try. To add new contacts you just need to navigate to Office 365, select the people link from the quick launch and start adding contacts.

I highly suggest you start by creating contacts for leaders within your organization. If you need help finding these individuals, the search feature will serve as a big help. To view an individual’s page, click on their name in the people screen. This will open a page that clearly displays their contact information, title, a photo, who they work with and recent activity.

Quick Tip

One of the most important features of people is the ability for you to add notes about your contact. For example, you can create a note that contains information about when you met a certain individual. This information can only be seen from your end and is one of the “hidden” features available in Microsoft People.

SharePoint Search Feature

In my opinion, the greatest feature in the new SharePoint mobile app is search. Using the search feature in the app is the easiest way to find the information you are looking for. The app allows you to drill down and search based on specific dimensions including sites, files, people or recommended It is clear to me that Microsoft’s investment in SharePoint search is paying off. Give it a try—go ahead and search for a file either by name or the content of the file.

See what else SharePoint can do, when it comes to workflows and automation of business processes.

Conclusion

Microsoft’s release of this SharePoint app shows their commitment to both the mobile space and SharePoint. Here at BlumShapiro Consulting, we are Gold Certified in Collaboration and Content. We are Partners in Office and Collaboration and are ready to help your business leverage these Microsoft tools. Learn more about SharePoint by looking at our library of posts on the topic here. Contact us to learn more about how SharePoint can help your organization.

Learn more about SharePoint from our library of blog content >>

 

About Hector: 

hectorHector Luciano, Jr., is a Consulting Manager at BlumShapiro, a Microsoft Gold Partner focusing on SharePoint, Office 365, mobile technologies and custom development solutions. Hector is focused on delivering high value solutions to his customers in Mobile and SharePoint.

Reorganize Your Content in SharePoint

There is never a bad time to think about how your content can be structured better. This is especially true if you are migrating to SharePoint from an old platform, upgrading, or even sticking with your current SharePoint system. This article will give you a few key areas to think about when reorganizing your content in SharePoint.

First off, I want you to think about the date when your current system was implemented and how your company looked. Now think about how your company has changed since then. Your company could have grown exponentially, departments and teams could now be located in different towns/states/countries, or you might be doing old processes in radically different ways. In any case, it’s safe to say that your company has not stayed the same. So does it make sense for your content structure to stay the same?

Roadmap

Reorganizing your content should be a well thought out process. A formal roadmap will need to be created to get your content from Point A (current structure) to Point B (completed structure). Steps in your roadmap should be well defined, assigned to specific people and time boxed.

PointAtoB

Your plan might be for content to be reorganized in your current system then migrated. If you are migrating to a new SharePoint system, this is great to get your users to experience the new structure in their current environment. Otherwise you can reorganize while the content is in transit, or even after it has been moved. All of this will depend on the tools you are using, timing, business priority, etc. Many factors!

As part of your roadmap, it is always a prudent idea to think about the future of your company. As you thought about how your company changed, you also want to keep in mind how your company WILL change. No one can predict the future, but your company might have a strategic 5/10/20 year plan where they list out their growth strategy. That plan would be a good guideline when planning out your new structure.

 

Some Reorganization Steps

  • Consolidation of Libraries There are many different scenarios why you should have multiple document libraries. Ease of security management, for one. But that doesn’t mean you need multiple document libraries. SharePoint content can start to sprawl, since the ease of adding libraries might not give the user pause when choosing between creating a new library and using a current one.
  • Add Content Types / metadata This can go hand-in-hand with the consolidation of libraries. If you are adding different document types to one libraries, you might want to distinguish them with Content Types or even just columns on the library. How many times have you created a new library for the current year (e.g. Financials 2014 and Financials 2015) when one library would be sufficient with the addition of a year column?
  • Archive content / Keep Content in place Not all data needs to make it over. You can segregate content by putting it into an Archive site or even keep it where it resides (if it’s not going away). Remember, all this content can still be discoverable in SharePoint. SharePoint search can return results of content in prior versions of SharePoint or to other file systems and web sites.
  • Remove Content Not all content is still used or even useful. Why have a survey to determine where the company picnic should be if it was 2 years ago. Backup this content and do not give it the green light to migrate.
  • Rename Content Sometimes “Shared Documents” just isn’t descriptive enough.
  • Consolidation / Creation of Sites Teams and departments may no longer work together or even exist.
  • Move Content to the Front Most people that go to your SharePoint site might not be regulars. It’s also a good idea to determine what might be the most relevant to all users of the site and put that on the home page.

 

If you are moving to SharePoint, upgrading, or migrating to the cloud, it is always a good idea to take a step back and look at your content. It very well may be that it can use a little bit more organization.

 

iStock_000018843424_ExtraSmall

SharePoint Mobile App Development with Xamarin and VS2013

I will be presenting at the Connecticut SharePoint User Group this Thursday September 18th at 6PM-8PM.  The presentation will be held on the new Microsoft Office located at 280 Trumbull Street, 21st Floor, Hartford CT.  RSVP at http://www.meetup.com/ctspug/events/203033462/

Description

SharePoint 2013 + Xamarin for Visual Studio 2013 provides the ability to build great mobile business apps using C# as the main programming language. It can be used to build apps for iOS, Android, Kindle Fire and more. Apps are built using the target platform API, and native user interface controls.  Apps not only look the way the end user expects, but they also behave as expected.   Xamarin Studio provides an integration with Visual Studio, IDE for Mac as well as Windows IDE for Android development.  Apps are build using familiar language(C#) and namespace based on the .Net framework which we all have come to love.  Your users will love using Apps that are targeted to their personal device, which in turn will increase productivity and business value.

Session Abstract

1. Introduction
2. Quick view on Today’s Mobile Dev Landscape
3. Intro into Xamarin IDE
4. Demo C# IPhone App for SharePoint/Office 365
5. Demo Universal UI App Development for SharePoint /Office 365

Hector Luciano Jr is a manager with BlumShapiro’s Technology Consulting Group, Hector has over 14 years of experience with Microsoft .Net software application development, including architecting and designing solutions for web, client/server and mobile platforms.