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.

Develop Workflows and Business Processes Without Developers

Companies are beginning to embrace technology at a higher level. However, there are still a number of businesses that have processes, a.k.a. workflows (an automated process) that rely on a user to manually enter information into an Excel spreadsheet. This spreadsheet can range from a simple list to one which has “complex” calculations that accounts for crazy exceptions (like adding 2% to the total if the month ends on a Tuesday while raining). These lists usually have one or two gatekeepers who know their calculations by heart, so if they leave the organization, the process becomes a headache for someone else or worse—grinds the business to a halt. Bottom line, it could be bad for a company.

Imagine taking your complex process and developing an application to take it over. This may seem like a steep challenge, but in today’s technological marketplace, there are services and apps that can help users create workflows and apps. Taking advantage of the technology to create these apps and workflows provides a huge benefit by getting the process knowledge and logic out of one person’s hands and into an automated process—making it accessible by anyone. This will also help to document the process and uncover any inefficiencies and deficiencies.

Microsoft, among other companies, are gearing application and workflow development toward power users and away from developers. These products are built with users in mind first, using a drag and drop interface. Most of the software tools are intuitive so little direction is needed to develop these workflows. These users already know the process intimately and don’t need to learn C# or Java or whatever language they have never heard of. However, having a technology specialist can still provide insight into workflows that might not have been thought of in the first place.

Workflow Automation Products

Below are a few Software as a Service (SaaS) workflow products that are geared towards power users.

Microsoft Flow

Flow is a drag and drop service solution used to create automated workflows in Office 365. These workflows can connect different applications and services; both enterprise (Office 365, SharePoint Online, Salesforce, CRM) and social (Twitter, DropBox, MailChimp). For example, you can easily create a Dynamics CRM entry from SharePoint list items. This happens to be a preconfigured template; requiring little effort to implement. Flow also has the ability for you to create your own custom workflows using their drag and drop interface.

PowerApps

PowerApps is a service that allows users to build Android, iOS and Windows apps without writing any code. This SaaS allows you to connect custom APIs, SharePoint, Excel, etc., and turn this data into an app. You can easily create an app to list and fill out information. Users outside of the office can use these apps on their phones and all of the data would be up-to-date in a SharePoint Online list, Excel, etc. Like Microsoft Flow, it is also hosted in Office 365 and has pre-built templates.

Power BI

Power BI is a service which can be used to build dashboards and data analytics reports using data from different sources within your organization. There are out of the box connectors to programs like Excel, Project Online, Adobe Analytics, Salesforce, CRM and others. Power BI can improve processes, even when data is in different locations that requires someone to pull together data from different places into one location. For example, say all project financials are located in an Excel spreadsheet over in Finance, yet the actual project costs are tracked by each individual team. To get all of this data into one report, someone would need to get the data from at least two different sources and merge them into one report. Power BI can automate that. Power BI is used to aggregate data from different sources into one location. In our example, instead of an executive calling on someone to get the numbers, compile them and produce a report; those numbers are displayed in Power BI, which is always up-to-date, and can even be drilled into or associated with key performance indicators (KPIs).

SharePoint Workflows

SharePoint workflows are also designed for a power user to create business processes (workflows). These can run on either SharePoint on premise or online. These workflows work well for approvals and processes that reside in SharePoint. External site integration is possible out of the box, but it does take some technical knowledge to do this. Some products fill that gap and have created a usable drag and drop interface with pre-built connectors. Two top vendors are Nintex and K2. Just like Microsoft Flow, users can build workflows by dragging actions onto a canvas.

Which Workflow Tool is the Best?

We recommend that organizations evaluate all software and services that are available to determine which product would best suit their unique business needs. They should look at features such as which product might integrate best with their existing software and what is the future software/technology strategy of the organization?

How can we help?

All organizations can benefit from streamlining processes or eliminating manual tasks. Workflows are easier to create than ever before, however, having the technical expertise of a consultant can be extremely beneficial. By being able to leverage our past experience and intimate knowledge of the products you need, we can determine the best technology for your project and implement the process along with guiding and training your users to do this themselves.

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.

Workflow Automation CTA

SharePoint 2016 Branding Revisit

With SharePoint 2016 looming in the horizon, it’s time to revisit some of the branding concepts in SharePoint. I describe SharePoint branding as the composite creation of an identity that expects an emotional reaction from its consumer. But wait, in SharePoint circle’s the word branding has been flagged as a dirty word, so therefore going forward I will be calling it “UI Style”. In my experience with SharePoint UI Style solutions, they are mostly composed of custom master pages, custom page layouts, tons of JavaScript, CSS and other UI assets. These UI Style solutions can bring state of the art site designs into SharePoint. However, they are custom and will require upkeep with each new version of SharePoint and in some cases completely re-built. So if custom UI Solutions are not future proof, what can you do about it? We will discuss this and other UI Style topics below.
SharePoint UI Style Evolution
First let’s take a look at the evolution of SharePoint UI Style from 2010 to 2016.
SharePoint_UI_Style_Evolution
Starting in SharePoint 2010, we can see the UI Style evolution with the introduction of the Ribbon menu, in 2014 we were introduced to the Seattle theme which was focused on removing chrome from the UI and now in 2016 we see the introduction of the “App Launcher” aka the “Waffle”. At this point the industry has a fairly good understanding of SharePoint UI Style designs and solutions. Here are the basics, the SharePoint UI Style is built on top of master pages, which include the outer layer composed of the header and footer. This is where you put your company logo, banner images and where the navigation control is displayed in your site. The center or what I call the “White Space” is where page layouts are loaded. Page Layouts are your home page, news articles, blog post and others. Note: that the concept of master pages and page layouts has been around since Asp.Net 2.0 and is stable. All other elements are called Web Parts, which gives you functionality like viewing documents, calendar, news feed, photo gallery and much more. While the out-of-the-box UI Style provides basic look and feel, if you want to change it you can either extend it or customize it, so let’s take a look at what a SharePoint Custom UI Style solution is.
Custom UI Style Solutions
Custom UI style solutions are normally built using this designer tools like Dreamweaver, Visual Studio and SharePoint Designer. Normally a designer would generate all of the images, CSS and HTML pages and then a SharePoint developer will take them and incorporate them into a SharePoint Visual Studio Project. Developers would then build a Visual Studio Custom UI Style solution that generates a file with the extension of WSP or Windows SharePoint. This file contains a CAB file with all of the DLLs, XML, CSS, XLT, JavaScript, Aspx and HTML files. Below is a very simple SharePoint Visual Studio project that contains master pages, page layout, CSS and JavaScript files. It is important to note, that you can build a custom UI solution without Visual Studio, you can perform the same action from SharePoint designer and Dreamweaver. Having said that, for large and complex UI Style Solutions you will benefit from the Visual Studio version control, and intellisense.

SharePoint UI <a href=SharePoint UI Style Custom Solution

Master Pages
When deciding on building a custom UI Style solution it is important to understand the impact specially when design custom Master pages. So let’s take a look at the master pages from 2010 to 2016, notice that the master page is are referencing specific versions of SharePoint libraries. When a new version of SharePoint arrives, these references will need to be updated. Which means that it requires you to re-deploy your solution and retest your site. For a smaller SharePoint implementation this should be no issue, however for larger and complex UI Style solutions this can be an expensive endeavor. So think and plan carefully when developing custom UI Style solutions.

Master Page References to SharePoint Version
On the bright Side
If you determine that you must have a custom UI Style Solution, then I encourage you to contact us or search the MS Partner Network and select a Partner nearest you for assistance. Also you can purchase a prebuilt UI Style solutions online from sites like bindtuning.com, pixelmill.com, topsharepoint.com and many others. If you like do it yourself, then I suggest you start at responsivesharepoint.codeplex.com it contains a simple to understand UI Style solution for SharePoint utilizing the latest bootstrap3 framework. I will warn you, these and most commercial pre-built UI Style Solution focus on Publishing Site and not Team Site.
Future Proof UI Style Solution
That’s right there is an alternative, a more future proof UI Style solution for SharePoint. It is nothing new, it has been recommended by Microsoft since SharePoint 2010 and with introduction off SharePoint 2016, it is even more important to a brace it. Let’s start with SharePoint as a service and not a platform. Choosing between the two can determine how future proof your solution is, if you decide to use SharePoint a service then you have full control of the UI Style design and implementation. Your site can be build using any Web technology including Asp.Net MVC, while SharePoint would provide all the services need to run by the site. When SharePoint is the platform, then you have less options for your UI Style solution. Having said that, recently Microsoft Pattern and Practices have release new tools to improve how you modify/extend the out of the box SharePoint UI Style. You can find more information on the tools at http://dev.office.com/patterns-and-practices. Below we will go over two examples how you can customize your SharePoint UI Style with no custom master pages or Visual Studio.
Themes
First let’s start with themes. Themes have been around SharePoint since 2010, they allow you to style elements without modifying master pages or page layouts. They get overlook by many developers but with patience and good CCS skills, you can create a theme that will operate in SharePoint with no custom development. Microsoft provides a SharePoint Color Palette Tool which allows you to set the background image, the font color, navigation background color, header footer and others elements. The tool is easy to use, and after you create your new theme you simply upload it into SharePoint and set your site to the new Theme as shown below. For more information on how to apply a new theme feel free to contact us.
SharePoint UI Style Theme
Modern Responsive UI
Modern web sites are now expected to support a variety of screen resolutions. Your SharePoint site is no different, it must have some level of support and one way is via Office PnP SharePoint UI Responsive solution. Recently Microsoft Pattern and Practice release a SP Responsive UI using a pure JavaScript Solution via there Pattern and Practice group. This SharePoint UI Responsive solution does not include any custom Master Pages or modified Page Layouts. It is simple JavaScript and CSS solution to Responsive UI solution prevents you from having conflicts when migrating to new version of SharePoint since it does not edit the Master Page. Another positive to this approach is that it works on Team Site while most Responsive solution focus on Publishing Sites.
You would enable the SharePoint UI Responsive solution into your Team Site using PowerShell and not Visual Studio as shown below.
SharePoint_UI_Style_Enabling_Responsive_Solution

The result is a Team Site which response to the screen resolution just as customers expect.

TeamSite SiteContent Responsive TeamSite Responsive
Team Site Responsive Site Content Responsive

This SharePoint UI Responsive solution is a great start for your development of a UI Style solution that does not have any dependency on the SharePoint infrastructure. With that and some create CSS design you can build any UI Style that means your need. Next step you would need to pick the right UI Style.

UI Style Conclusion
So far we talked about the evolution of SharePoint UI Style, how they are build and alternative future proof solutions. Now it is important to pick the right UI Style. Let’s first start by understanding what SharePoint means to you and your organization, what are the business use cases, and what is the organization strategy for the next 5 to 10 years. That’s right your organization vision and goals should drive the SharePoint UI Style and not the other way around. If your organization is an insurance company and you want to provide better care for your patience or if you are a none for profit organization and your SharePoint is focus on, bring awareness and driving donations. Each vision will result in a completely different UI Style with different implication for SharePoint. Perhaps one implementation displays the patient schedule, shows alerts, news announcements or videos. Or Perhaps the site, simply shares information on the latest donation events, and how visitors can make pledges. The bottom line is the right UI Style will help improve sales by keeping visitor engage when it clearing reflects your organization culture, vision and strategy. So how do you get there, start by reaching out to us and we will get you started on the right path.