Automating item-level permissions in SharePoint document libraries and lists

workflowitemlevelpermissions

Item-level permissions come in handy for a number of situations. Here are some examples and food for thought:

  • Travel plans are submitted to a list, but only those in people columns (supervisor, director, traveler) are allowed to see or find the plan by search.
  • Allow “content owners” to edit documents, and everyone else to view only.
  • Allow non-admin individuals to set editing permissions for documents or list items by populating a people column

Using a SharePoint Designer 2010 Workflow and an impersonation step, we can:

  • Add list item permissions
  • Inherit list item parent permissions
  • Remove list item permissions
  • Replace list item permissions

This tutorial will use the “replace list item permissions” action. Whenever you’re replacing permissions, you must remember to INCLUDE YOURSELF or admin individuals in the replacement permissions or you won’t be able to access the content or help with troubleshooting. Let’s begin!

Continue reading “Automating item-level permissions in SharePoint document libraries and lists”

SharePoint solution: “Coercion warning: user or group does not have a valid e-mail address”

CoercionWarning

While there are likely a number of causes to this problem, I’m writing in regard to a specific scenario in which a SharePoint Designer 2010 workflow automatically replaces item-level permissions for a document based on the contents of a people column. It’s possible this solution will apply to a different scenario, however, so read on.

The people column’s settings are multiple selection, people AND groups as can be seen here. This is absolutely fine (multiple selection, mixing of permission groups with individuals). You may just note the warning in red in the screenshot below:

“Earlier versions of client programs might not support a Person or Group field that allows multiple selections. Adding this field might block those programs from saving documents to this library.”

column.PNG

In your workflow, just make sure you’re returning your people column “As String” and not any of the semi-colon delimited options. That’s all there is to it. Publish the revision and run the workflow again (and you may need/wish to go in and end any workflows that errored out but are still “running”). Best of luck!

relatedpersonstring.PNG

 

Microsoft Flow approval of Twitter tweet and Facebook post submissions via SharePoint list

This tutorial works for any Microsoft-Flow connected social media platform, but we’ll specifically go through the steps for setting up a Twitter tweet and Facebook post submission system. We’ll be utilizing Microsoft Flow’s new “Approval” feature. Here’s our (and maybe your) scenario.

  • We want to allow broader participation in social media content, while still maintaining a close grip on the quality and management of our platforms. This is more inclusive, increasing engagement and also giving you more eyes and ears throughout the organization while maintaining control
  • Individuals will submit their ideas (can be via direct email to a list, a form, PowerApp, etc. – we’ll use a list)
  • Social media manager or team will approve or reject submissions which will then be automatically posted to the applicable social media network if approved. See bottom of post for additional challenges to enhance this system.

Let’s get started!

Continue reading “Microsoft Flow approval of Twitter tweet and Facebook post submissions via SharePoint list”

Date calculations using “Today” in SharePoint lists for years of service, days without incident, etc. (includes using blank date values)

calculations

This is a fairly simple solution that takes a date column, compares it to another date and gives you an answer in years (or days, or whatever you want). You’ll need to already have date columns to work with, and if comparing the date to today (years of age, membership, service, etc.) you’ll need a today column (hidden from the view above). This previous post will help you rig a “today” column that is always accurate without needing to update list items manually. Of course all of the following solutions work for any two dates (i.e. day span of vacation request), I’m just sharing specific examples that would involve “Today”.

Continue reading “Date calculations using “Today” in SharePoint lists for years of service, days without incident, etc. (includes using blank date values)”

Speaking at SharePoint Saturday Baltimore on May 20

I’m excited to be a part of the speaker lineup next weekend at SPS Baltimore. If you’re nearby, be sure to register (it’s free!) and check it out on Saturday, May 20. At the time of this post, there’s just one ticket left! Here’s what you can expect from me:

baltimoreLet Microsoft Flow and SharePoint Designer Workflows Do the Work

Your team members would appreciate getting some time back. Give it to them in ten minute increments here, thirty minutes there by using Microsoft Flow and SharePoint Designer to build them thoughtful workflows that range from simple one-steppers to more complex and conditional multi-stagers, even across site collections. We’ll cover specific HR and Accounting scenarios in this session based on real-case experience at KU Libraries, including automation of some onboarding and off-boarding processes, simple automated management of otherwise complex item-level permissions, travel plan submission and approval, receipt submission and reimbursement tracking and more all through utilizing workflows to save you and your colleagues time.

Solution: Microsoft Flow error “The field ‘…’ is not supported in query. The lookup list is in another web.”

flow1

Perhaps you, like me, built an exciting Microsoft Flow workflow and let it go into the wild without much additional thought. But at some point, you drop a lookup column into the mix and your Flow stops working. It tells you the field is not supported in query, even if that specific field isn’t being utilized in the Flow. I believe this has something to do with REST, but we won’t dwell on the cause – let’s get to the workaround.

The scenario I’ll be using is my cross-site publishing alternative using Microsoft Flow where I’m basically copying data from list items in one site collection to create new list items in a different site collection. This is helpful when someone does some sort of data entry once, and other people are then entering much of the exact same data. This copies all of the overlapping data to a new list item for the second site collection to reduce duplication of work.

It sounds simple but with a lookup column in the destination list we get the error. For this I’ll be using SharePoint Designer and Microsoft Flow (of course) in combination, though you could certainly try it all in Microsoft Flow. I just find parts of the process simpler in SPD. And while your origin data may be different (MailChimp, Twitter, etc.), and your exact scenario may differ, this workaround should still have value in concept.

Continue reading “Solution: Microsoft Flow error “The field ‘…’ is not supported in query. The lookup list is in another web.””

Creating a “Today” column in SharePoint that always gives today’s date

Update 12/8/17: There’s a better way to do this using Microsoft Flow, if that’s available to you.

update7

You may, at some point, find yourself working with calculations among dates, including “today’s date” which conceptually seems simple but requires a bit of work to function correctly. You may have even created a “today” column that defaults to “current date” or attempted a calculated column only to find that the date will not automatically update each day or that calculated columns cannot show dynamic data like that. Fret no more.

Today columns are essential for use in calculated columns that tell you things like “days until event”, “days without incident” or “years of service” without needing to click any buttons or take any additional steps. Here are some ideas for how you can use the “Today” column in calculations. We’re going to create our solution via SharePoint designer workflow and a new Today column.   Continue reading “Creating a “Today” column in SharePoint that always gives today’s date”

Automatic iCal (.ics) hyperlinks for SharePoint calendar items using calculated column

ical7

Updated 12/22/19

Important: This concept of using calculated columns will only work as a one-time trick. After adding the column, links will be correct. But because [ID] isn’t meant to be used in calculated columns, it removes itself from the formula if an item is edited after the column has been added. This method is only ideal for one-time uses, or for lists that are not expected to have content additions or changes. See this other post about how to get the same hyperlinks through workflow instead, for a more reliable method.

This project allows users a quick option to save something they see on a SharePoint calendar to their own calendar. Spend 5 minutes on these few instructions and your users will have a convenient way to get involved going forward.

Note that in modern calendar experiences, there’s a built-in “add to calendar” option for event items. This post is for classic experience calendars and calendar items/events.

Basically we’re going to add a calculated text column called iCal which will use the list’s GUID (easy to get, don’t worry) and the specific calendar item’s default ID number to generate a clickable .ics (iCal) file link. Let’s get started!

Continue reading “Automatic iCal (.ics) hyperlinks for SharePoint calendar items using calculated column”

Adjust SharePoint list column widths in classic view using jQuery

columnexpand

This is a popular request that I’ve recently modified, thanks to the recommendation of a colleague, to be responsive to different device or browser sizes. By default, SharePoint lists respond to their viewer’s size but once customized with a fixed pixel width will lose that feature. This solution utilizes percentages so you can create column widths ideal for any screen.

Update 6/18/19: I’ve recently shared how to adjust widths using CSS and it covers standard AND datasheet views, while the method below is written only for standard views (but could certainly be adapted for datasheet, I imagine).

Continue reading “Adjust SharePoint list column widths in classic view using jQuery”

Remove select/de-select checkmark column, column headers, edit/new options, and border in SharePoint list view web parts

tooltiplinkedtitlesIn a recent post, I discussed hyperlinking URL title text and adding tooltips. I used the above screenshot which also illustrates what we’ll accomplish in this post which is to remove the select/deselect checkmark column, column headers, toolbar edit/new options and chrome border. This leaves us with a simple title and list. Pick and choose what you’d like to remove for your specific needs, and let me know if you run into any issues.

Continue reading “Remove select/de-select checkmark column, column headers, edit/new options, and border in SharePoint list view web parts”