Add an extra group for management to a team site

SharePoint permission configuration is one of the hardest things for end-users to understand. Sometimes it is easier to explain a specific scenario instead of how the entire permissions concept works.

This article will explain the following scenario:

  • The DW&C team has a new team site
  • Visitors should have read access to the site
  • People in the DW&C should have contribute permissions
  • There should be a group of site admins for taking care of the site
  • There needs to be a separate document library that only the management team has access to

This scenario would work in exactly the same way if this was a project site.

To start off, we’ll assume that the DW&C department has already created a standard team site.

2015-03-19_16-15-16

Standard team site permissions

Our scenario team site has now been updated to have an extra Management Documents library and a calendar.

2015-03-19_16-18-54

When creating this site, we created new permissions, which means that SharePoint automatically created the following groups with the following permissions:

Group Permission level Users Explanation
DW&C Site Visitors Read All users On an intranet, it’s best to give as much read access as possible to ensure transparency and findability.
DW&C  Site Members Contribute All DW&C users All users in the department should have the ability to influence the information on their department site.
DW&C Site Owners Full control Owners/admins Choose a few users to manage the site, i.e. super users.

Note: some people suggest adding the department’s manager to the Owners group – after all, they are responsible for the department. However, managers should generally be added to the Members group. Specific users should be chosen to manage the site and be added to the Owners group. The managers will get extra access to their specific documents later in this scenario.

In the starting scenario, the users in these groups have access to all of the content on this team site as nothing specific has been configured.

SharePoint objects, i.e. sites, lists, libraries, folders and items, inherit permission from their parent item.

This means that all users also have access to that Management Documents library, which should be kept separate just for DW&C’s management team.  To configure that, we will need to set up a new user group.

Creating a new user group and filling it

In SharePoint, it is possible to assign permissions in three ways:

  1. To a SharePoint group (add Active Directory users, groups or SharePoint groups)
  2. Directly to an Active Directory group
  3. To an Active Directory user

The first two options are fine, in most cases. However, option #3 should generally be avoided. It is much better to create a group and assign permissions to the group rather than assign permissions directly to a user. The contents of the group is far easier to maintain rather than going through and changing a specific user’s permissions.

It is possible to directly assign permissions to AD groups, which does have advantages in some environments. However, when working with an intranet team or project site, SharePoint groups are usually the easiest to work with.

To create a new group for a site, do the following:

  1. Go to the site you wish to add the group to
  2. Click the cog wheel and go to “Site Actions”
  3. Choose “Site permissions”
  4. Choose “Create group” from the ribbon
    2015-03-19_16-48-34

 

 

 

Note: the new user group will be available for the entire site collection, not just this one site. You should name it accordingly – in this scenario, I will name it “DW&C Site Management” to keep with the current naming convention.

When creating the group, the current user is set as owner. In most cases, this should be set to the site owners group, so that they can maintain the membership of this group.

2015-03-19_16-49-19

I suggest giving this group “contribute” permissions.
2015-03-19_16-51-22

 

Once the group has been created, you can add users to the group by clicking “New” and “Add users”. You should be able to select the applicable management users from the Active Directory by typing in their names, emails or user IDs.
2015-03-19_16-52-22

For more information on adding users to a group, please see Manage SharePoint groups.

Changing the permissions for the Management group

Now we have the DW&C Site Management user group, but we need to change the permissions on the Management Documents library so that only the Management user group has access to it. To do that, we will need to break the permission inheritance on the Management Documents library.

2015-03-19_17-03-34

To change the permissions on the Management Documents library, please do the following:

  1. Go to the library
  2. Go to the “Library” tab and choose “Library settings”
    2015-03-19_17-05-12
  3. Choose “Permissions for this document library”
    2015-03-19_17-05-50
  4. Observe that the library currently inherits permissions from its parent, the DW&C Site. Click “Stop inheriting permissions” to break the inheritance.
    2015-03-19_17-06-34
  5. Now the library has unique permissions; the options in the ribbon have changed.  If you want to revert back to inheriting permissions, you could click “Delete unique permissions”.
    2015-03-19_17-08-03
  6. Remove the visitor and member permissions by selecting the groups and choosing “Remove user permissions” in the menu. As of now, the users in these groups will not have any access to the Management Documents library.

As a final step, you should determine if the DW&C Site Owners group should retain their permissions. Note that one group will need to have “full control”, so either the Owners group will need to stay or the Management group will need to have their permissions upgraded.

Resources

Technet: User permissions and permission levels in SharePoint 2013
Technet: User permissions and permission levels in SharePoint 2010
Office support: Manage SharePoint groups
Technet: Best practices for using fine-grained permissions in SharePoint Server 2013

SharePoint social and Harmon.ie favorites in Outlook

 

One of my current clients works with the Harmon.ie Outlook addon for copying emails and documents to SharePoint.  I believe it is a neat and useful tool which can complement OneDrive for Business.

I recently got a request to allow users to create favorite libraries/sites on SharePoint and have this list be synced with Harmon.ie.

Summary

Harmon.ie does not seem to have a way access SharePoint 2013’s “follow” functionality. This may be possible with registry edits or custom code, but I have not found the solution yet.

However, Harmon.ie can sync with the My Links list, which is part of the User Profile Service from SharePoint 2010 and onwards. Libraries can be added to this via the “Connect to Office” button. It is also possible in MOSS 2007.

SharePoint 2013 “follow”

In SharePoint 2013, new “follow” functionality has been added, allowing users to follow People, Documents, Sites, and #Tags. It is then possible to see updates via the newsfeed on your My Site.

follow1

The idea was to allow the client to select which sites they would like to follow, then use that information for two purposes:

  1. Display a list of favorite sites on the landing page
  2. Input for the “favorites” in the Harmon.ie Outlook client

The first goal turned out to be fairly easy – once I found out that the “Site” content type on the My Site is not actually searchable. There is a premade REST/jQuery soution available via I Am Following which worked beautifully.  The page includes a link to the code download on Codeplex.

The second turned out to be quite a bit harder. I spent a lot of time investigating the Harmonie documentation and tried everything I could find, including using registry edits for site propogation in the Harmon.ie favorites. That site propagation turned out to only work for the enterprise client, not the free client and was really more for prepolating the client with specific sites. I was not able to get the registry edit “SyncFavoritesWithMyLinks” working, as described on Add My Links to the sites and favorites lists.

Conclusion: there is currently no good way to sync the followed content on SharePoint 2013 with Harmonie.

However….

My Links

After lots of frustrating, I was rereading the documentation on the Harmonie site and came across the following:

When working with SharePoint 2013/2010, harmon.ie adds the document libraries defined via the SharePoint 2013/2010 ribbon button Connect to Office to your favorites list.

Source: Favorite Locations

My Links is the old bookmarking functionality in SharePoint, used in SharePoint 2007 and 2010. It was replaced by the follow functionality in SharePoint 2013. It requires the User Profile service to be enabled, as it is a per-user list.  Clicking the button adds the current library to My Links.

You can access this, exactly as the documentation states, via the Library tab of document libraries:

follow3

This same functionality is used to create shortcuts in Microsoft Office applications for opening and saving documents.

To make this document library be added to the favorites in your Harmon.ie client, follow these steps:

  1. Click the “Connect to Office” button in the applicable library
  2. Restart Outlook (the list is checked on application startup)
  3. Find the new list in your favorites in Harmon.ie

You can maintain the My Links list by clicking on the dropdown on the Connect to Office button. You’ll see that the list looks pretty much as it did in SharePoint 2007.

follow4

 

Sources

Harmon.ie: Favorite locations (in Outlook)

Office Blogs: Following in SharePoint 2013

Thanks go to Wictor Wilén for his tips

Wireframing SharePoint with Axure and Balsamiq

I was recently asked to make mockups for a new SharePoint environment so that the client had a better idea of what we were talking about.

What are wireframes? 

If you’re reading this article, I’m going to assume you already know what wireframes are. However, there are so many misconceptions and different definitions that I’d really like to make my position clear.

The emphasis in the following quote is mine.

A website wireframe, also known as a page schematic or screen blueprint, is a visual guide that represents the skeletal framework of a website. Wireframes are created for the purpose of arranging elements to best accomplish a particular purpose. The purpose is usually being informed by a business objective and a creative idea. The wireframe depicts the page layout or arrangement of the website’s content, including interface elements and navigational systems, and how they work together. The wireframe usually lacks typographic style, color, or graphics, since the main focus lies in functionality, behavior, and priority of content. In other words, it focuses on what a screen does, not what it looks like.

Source: Website wireframe @ Wikipedia

Wireframe

A wireframe can take the form of a sketch on a napkin, on a whiteboard, PowerPoint or a program such as Axure or Balsamiq.

When asked to do a SharePoint wireframe, we’re usually most concerned with the main page as this requires the most customisation. At this point, we include elements from:

  • Master page (global layout, top navigation, quick launch, footer)
  • Page layout (page level layout, webparts, field controls)
  • Basic content decisions (which webparts? where? approximately what content will they include?)

As stated above, it is important to keep questions such as fonts, colors and/or graphics out of the question at this point: wireframes are concerned with functionality and basic layout, not design.

Comparing Axure and Balsamiq

It had been so long that I wasn’t even entirely sure what to use anymore.  I’d heard quite a bit about both Axure and Balsamiq, so decided to look into them. I know that some people do use Visio (see Jasper Oosterveld’s SharePoint 2010 Wireframes), but I don’t like using Visio for this purpose.

The best resource I found was Axure vs Balsamiq prototyping by Calvin Pedzai – he does a good comparison of the two products. In his conclusion, he states:

Which one to use is purely situational. Both are supported by strong community-generated components and widgets so the range of work one can do is quite wide. Axure is more expensive and suited for medium-to-large scale projects. Its annonating functionality means that the resulting prototype has useful notes on interactions for developers as opposed to creating seperate documentation. However because Axure RP offers more features than Balsamiq it takes longer time to learn and its HTML prototyping can be time consuming. Balsamiq is for smaller projects and rapid prototyping. Its prototypes are not as interactive as Axure RP but PDF mockups can be created. Very small learning curve and its lack of features is not such a show stopper either.

I’ve used Axure previously and it’s a powerhouse of a product. Particularly masters, which allow you to create things like navigation which are repeated over multiple pages and the ability to add functionality such as onClick are wonderful. You can create an entire prototype and create HTML pages which can be shared with the client. I also really like the functionality that allows you to comment on elements and create a specification from these comments in Word. Axure brings wireframes to a whole new level. However – I think it’s overkill for a lot of wireframing situations.

After having used Balsamiq, I can say it’s very simple. Occasionally, it feels too simple after having worked with Axure, but the simplicity pays off when I just need to make wireframes.

Balsamiq mockups/templates

Balsamiq lets you create mockups, which are basically templates. You can use the entire template or just copy/paste the elements you want to use out of it.

Flucidity – SharePoint 2013 team site mockup

Material SharePoint – SharePoint 2010 Balsamiq Mockup Wireframe Template

Balsamiq Mockups to Go – SharePoint Elements (I ended up tweaking a few of these a bit, but it was a good learning curve)

Balsamiq has a Mockups to Go site, where people can share their mockups; there are many useful general elements available here.

SharePoint page types: text layouts

SharePoint 2010 and 2013 have two main page types: page layouts and text layouts. In this article, I will look at the text layout functionality.

Using this option dynamically changes the page’s layout quickly and easily and is available in the following places:

  • Site Pages library on a team site
  • Wiki library (not the Enterprise Wiki)

You can find the option to change the layout of the page by going to the Format Text tab of the ribbon and then choosing “Text Layout”:

layouts1

Note that when you choose a different layout, the content never gets lost!

One of the nicest things about using the text layouts is that they’re easy to use and they meet 95% of all requests. They arrange themselves depending on the used content, which is great.

layouts6

I personally have never seen a reason to actually change these. However, you can change this on a page-by-page basis by editing the page in SharePoint Designer – I wouldn’t advise it, because it will create a maintenance and standardisation issue.

ItemStyle issues after SharePoint 2013 upgrade (?)

I have a client who is running SharePoint Online, the 2010 version. She sent me an email saying “Help! None of our content query webparts work!” I took a quick look and it was that standard error that the CQWP cannot be displayed. I thought that maybe someone had messed with the ItemStyle.xsl – that’s usually the first place to start troubleshooting.

blogxslt

I tried to log into the environment using SharePoint Designer 2010, considering that’s what I’d always used for this client. She hadn’t gotten the upgrade email from Microsoft yet, but it turned out that I suddenly needed SharePoint Designer 2013 to log in.

That ItemStyle.xsl that I thought had been messed with? It hadn’t been touched in six weeks and the last person to do anything with it was me.

I traced the issue to a section that was being used to aggregate blog posts within the environment. There turned out to be two issues: the strip HTML template I was using was throwing errors and a variable wasn’t working properly.

@Body variable

I saved the template problem for later and tried to figure out why I suddenly wasn’t actually getting any input from the @Body tag.

I made sure “Body” was actually filled into the slot in the CQWP – it was.

I checked to make sure the field really was named “Body” by checking the URL – it was.

I defined it in the XSL so I could call $Body instead of @Body but that didn’t help.

Finally, I used Heather Solomon’s snippet to see which variables were actually being passed to the CQWP:

<xsl:for-each select="@*">
 P:<xsl:value-of select="name()" />
</xsl:for-each>

It turned out that it suddenly Body was called body. That makes a difference in XSLT. I replaced @Body with @body and suddenly I had data to work with again.

Remove HTML template

I finally traced the issue to a template I was using to strip the HTML from the Body field. I had used Ben Prins’ Remove HTML markup in Content Query Web Part, which had worked fine – until it suddenly didn’t.

I replaced the “removeMarkup” template with the one from Maulik Dhorajia’s Removing HTML tags using XSLT. And suddenly it all worked.

I went through the code of the two templates and I can’t really see much of a difference – it seems to come down to the order and structure of how things are called in the code. Then again, I’m not really a developer.

Lessons learned

  • I think Microsoft has done some underwater upgrades to some SharePoint Online environments which suddenly require the use of SharePoint Designer 2013
  • There must be some differences in the XSLT rendering between SharePoint 2010 and SharePoint 2013

SharePoint and the disappearing webparts

I have noticed something odd with placing list view webparts: they disappear at odd times. I place them on the page and do something such as editing the webpart, etc. and then they’re just suddenly gone. I’ve seen this on SharePoint 2013 as well as SharePoint 2010/2013 Online, with IE9, IE10 and Chrome.

missing2

When I go to re-add the webpart to the page, I suddenly get “Wiki [2]” as a webpart title, which means that the webparts aren’t completely disappearing – they’re still there, somewhere.

By going to the webpart maintenance page (add ?contents=1) to the end of the URL), I can see that the webparts is open on the page. But… I can’t see it.

missing1

I found Jennifer Mason’s blog on SharePoint 2010, Office365: Why does my web part randomly disappear?!? which also looks at the webpart maintenance page. She has a really good tip: close the webpart via the maintenance page, then re-add it to the page via Add Webpart -> Closed webparts. Voilá – it was back on the page.

However, the webpart disappeared as soon as I tried to save the page. It even disappeared when I hit “Edit Webpart” – I had the edit webpart dialogue but no webpart.

I started checking the HTML source of the zones, to see if the webpart code changed at all to cause this issue. Long story short – the problem doesn’t seem to be there.

At one point, since I was working with simple wiki pages, I edited the webpart without editing the page first. And suddenly it all worked perfectly.

So, when you’re bashing your head against the wall or are just very tired of configuring list webparts that won’t hang around, do the following:

  1. Add the webpart(s) to the page. 
  2. Save the page
  3. Edit the webparts without editing the page first