Spring Cleaning Time for SharePoint Sites

We have been deeply involved in a cleanup of our SharePoint portal plan for the last several weeks and I thought I would share with you some of our observations because I know most of you with both Internet and intranet sites that are more than a few years old probably share the same issues we do. Our Internet and intranet portals have been around for 9 and 8 years respectively and over time, a lot of ‘junk’ has accumulated. The example I like to use is that it is similar to the way your email slowly fills up with ‘junk’ over time. For example, if you received 20 emails a day, but only have time to address 19 of them, you may go home feeling pretty good about the amount of work you got done. However, that 1 email you did not get to if you consider have only 1 email that you do not get to each day over the course of a typical work year can amount to over 250 emails. Of course, if you get more than 20 emails and the number that you do not get to is greater than 1, that total can expand much more rapidly.

So how do you get a handle on the problem? You could simply delete anything older than 2 weeks old, but that might delete important email messages that you really need to see. On the other hand, the email that you received yesterday and did not get to may be a total waste of time. Clearly the age of the email is not the only deciding factor. Maybe you choose to delete all emails from people outside of your department. Unfortunately, some of those emails from other departments may be more important than the email that circulated around asking people where they wanted to go to lunch on Friday. You could delete anything that comes from outside of the company. That would certainly help keep you focused on your work, but you would also miss notifications of appropriate training or white papers relevant to your job.

Thus you can see that cleaning out your inbox can be more complex than any simple rule or a set of rules (although they may help). It is also important to perform that cleanup on a more frequent basis than once every year. One a month may not be too often and even once a week perhaps on Friday afternoon as you are winding down for the week might be a good choice.

In a similar way, if you have both an Internet and intranet portal (hey, even if you only have a collaboration site), periodic cleanup is still something you need to consider doing. If nothing else, cleaning out old obsolete content will make search run faster and return more relevant results. So here are a few tips that may help you perform your own portal cleanup.

10 Steps for site owners to consider when performing their next portal cleanup:

  1. Remove obsolete or unnecessary sites – Sites where all content pages/documents have not been updated for 2 or more years are candidates.
  2. Examine all pages for duplicate or obsolete content and update or remove – This could result in removing the page itself if all content on the page is obsolete and removed.
  3. Remove obsolete/duplicate documents/files – Multiple instances of files all get indexed and results in bloating the search results with many invalid entries that do not point to the most recent data. Delete obsolete/duplicate files.  Burn copies onto a DVD if you want to keep them.  Adding them to your intranet site or collaboration site is not a valid solution.
  4. Remove content that appears on other sites for your organization that you do not own – Copying/duplicating content that appears on other sites within your organization bloats search results and diminishes the relevance rating of the correct document if multiple occurrences exist.  Any content not ‘owned’ by the department should be removed and replaced with a link to the content on the ‘true’ owner’s site.
  5. Remove content found on sites outside your organization – Not only is this a potential copyright issue, but updates made to the content on the ‘true’ source will not be reflected in the copied content resulting in misinformation.  Just link to external content.
  6. Clean out your calendar/announcements – If your site has a calendar or an announcements list, clean out old events that are no longer relevant.  This will improve the performance of the calendar and/or announcement list.
  7. Consolidate sites – Sometimes subsites were create when all that was needed was another page on the site that owns the subsite (parent site).  Unless the subsite requires a different set of permissions (owners, content managers, approvers, etc.) you may be able to simplify your site structure by moving content/pages/documents up a level.  This will also improve navigation and reduce the number of clicks to find the content you need.
  8. Remove content that really does not need to be public – For any content item (subsite/page/document) ask yourself if anyone in the public really needs to see this content on a public web site or whether it just clutters the public facing sites with content that no one really looks at.  Perhaps all you need is a ‘Contact Us’ link for anyone in the public to request additional information if necessary.  Some current public content probably should only be internal intranet content.  If so, move it there if it does not already exist and delete the public version.
  9. Do not duplicate content between the Internet and intranet – If the content needs to be seen by both the public and organization’s employees, place the content on the Internet and only add links to that content from the intranet. Don’t place the content on both and definitely don’t place the content only on the intranet.
  10. If content is not owned, remove it – If you have current Internet content that is not officially owned consider removing it.  Content that is not owned probably is not updated.  If the content is necessary, an owner for the content must be identified.

Well, that’s it for this time. C’ya.

The Sky is Not Falling

This week an article was published on CIO.com by Jonathan Hassell entitled, ‘7 Things CIOs Should Know About SharePoint Server 2016’. This article found it way circulating around our company from several vendors hoping to convert our SharePoint portal over to their system. They point to various statements about the new SharePoint as evidence that it is time to switch from SharePoint now. I call this ‘The Sky is Falling’ syndrome. Vendors of third party products are using it specifically to freak out SharePoint users to get them to switch to their company’s product.  However, the truth is rather different for existing SharePoint users.  Here is my personal response to some of these statements.  Don’t fall for ‘The Sky is Falling’ sales tactics.

  1. SharePoint Server 2016 might be the last version of SharePoint designed to run on premises.

    Jeff Teper just took over SharePoint at Microsoft last year and has been rebuilding the SharePoint team from the disaster it was in 2014 and early 2015.  At the European SharePoint Conference and the Microsoft MVP conference in November of 2015, a very different picture of the future of SharePoint emerged.  He has not said that Microsoft is abandoning SharePoint.  However, the definition of ‘last version’ is muddy. I believe it is more like what Microsoft has said concerning Windows 10 being the last version of the OS for PCs.  Really?  What does that really mean?  It means that all future updates will be done through regular updates/patches/etc. Haven’t they already done that with Windows 10?  In fact, the Release Candidate for SharePoint 2016 was released, I believe, as a patch to test this capability in SharePoint.  It updated our Beta 2 installation without shutting SharePoint down or reinstalling everything.  Last release?  I guess that depends on what you call a release.  It may be the beginning of the end of release numbers as we once knew them. It is a very different release world coming about.

  2. There will no longer be a free version of SharePoint for smaller shops or department use.

    True, but that is because the free release was collaboration only and that functionality has moved to SharePoint online as part of select Office 365 subscriptions where they call it Team sites.  You can also apparently buy SharePoint online as a standalone offering for $5.00 per user per month. Note that like WSS 3.0, these sites are meant for internal collaboration, not for the creation of public facing web sites.

  3. Excel Services has vanished, and to get Excel functionality, you must use Office Online Server

    Again a good choice to provide the latest updates as soon as possible.  Excel is an office product and will be baked into the Office 365 subscriptions.  Also Microsoft is pushing a new product for data analysis called Power BI which appears to be part of select Office 365 subscriptions although you can get a desktop version for free.  Gartner recently ranked Microsoft’s Power BI as most innovative in the upper right quadrant in their recent Magic Quadrant for Business Intelligence and Analytics Platforms.

  4. Managing SharePoint from the command line is pretty much a PowerShell-only affair these days

    This was announced years ago as a goal for all Microsoft servers.  There is better control over administration of Exchange and even standard Windows servers using PowerShell.  Our team has been honing our PowerShell skills for at least the last 4-5 years because we knew this was coming.  Also the SYSADM functionality was awkward at best. For some time, you have been able to install a Windows Server as a Server Core only version that skips the GUI to provide better performance and a smaller footprint which uses PowerShell for administering the server.  This direction for servers is not new for Microsoft. They gave substantial warning that administrators need to learn PowerShell in the near future.

  5. The migration process to SharePoint 2016 will be a bit involved, depending upon from where you are starting.

    While it is true that out of the box that migration from anything other than SharePoint 2013 is not directly possible, there are tools companies like ShareGate, Metalogix, and AvePoint to name just a few that support migration between SharePoint 2010, SharePoint 2013, SharePoint 2016, and SharePoint online so this is a non-issue.

  6. The Microsoft workflow and forms solution InfoPath is now Moribund

    Microsoft has promised support for InfoPath until at least 2026.  However, I do not expect Microsoft to completely eliminate support until they or a third party comes up with a viable alternative and path to get there.  Their attempt at a different forms solution in 2014-2015, Forms on SharePoint List (FoSL) failed and was removed from SharePoint 2016 until a new solution is obtained.  Unfortunately, they released the news that InfoPath was going to end prematurely without that replacement solidly in place.  In the meantime, there are other third party forms tools like K2 for SharePoint which provides a forms and workflow alternative that might be a reasonable alternative if you feel you need to start converting to something else now.

  7. There is a big focus on hybrid connectivity in SharePoint Server 2016.

    Very true because the vast majority of companies that responded to one survey expressed an interest in a hybrid approach in the future, the bottom line is that today 49% of a recent survey from Rencore use SharePoint Server on premises only, 24 % use SharePoint Online only and 25% that use a “Hybrid” configuration. Because 64% of the survey respondents also use Office 365 currently, I suspect that the percent of hybrid might increase in the near future. One factor that will keep on premise going for some time is the need to perform customizations which are easier when you have local control over the server. Over the much longer term, will hybrid on Online continue to grow at the expense of the on premise only installations, probably.

Finally I want to address the removal of public facing SharePoint sites from the Online version of SharePoint. While I have not heard anything definitive about the reasons for this decisions, I suspect the reasons are either technical (branding) or licensing related or both. I suspect at some point, Microsoft will either resolve these issues and add public facing SharePoint sites back or they will create an entire new product that will allow for the creation and support of public facing sites hosted from their online Office offerings.

In the meantime, I will strongly resist the cry that ‘The Sky Is Falling!’ and focus on things that I can control.

C’ya next time.

I Like Your Moves

Moving Files between SharePoint Libraries

You may occasionally encounter the need to move a file from one SharePoint library to another. While there is the brute force method (download the file to your local machine and then upload it back to the new library which may be in a different site), there are at least two other easier methods.

For the first method, you need to know the URL of the library to where you want to move the file before you begin the process. Then follow these steps.

Step 1: Navigate to the library containing the file you want to move. For the purposes of this article, I’m going to start from a library in our team collaboration site to move a file to our intranet site. The specific starting and ending destinations are not the important issues here. Rather the technique is what is important.

Step 2: Locate the file you want to copy or move from one library to the other and hover over the right side of the document’s Title. Click the down arrow to open the document menu as shown in the following figure and select the option: Send To and then select Other Location from the secondary fly out menu.

Step 3: This opens the Copy dialog in which you need to specify the destination library or folder as well as the filename to be used in the destination library. (If you do not know the URL of the destination library, you may need to close this dialog and find that URL first. Don’t say I didn’t warn you.).

Step 4: Note that the default location is the site in which the current library resides. If you simply want to copy a file from one library to another library within the same site, you can just add the library name to this URL. If the library name has spaces, you must replace each space with the characters %20. The following figure shows that the file is being copied to a library named: “Server Training”. It also shows that the name of the file will be changed to ‘Add a new user role’. (Yes, this means that you can create a copy of a file in the same library by giving the copy a new name.)

Step 5: When you click OK, the Copy Progress dialog appears. You can review the information on the copy here before you press OK. After you click OK, the copy proceeds and if successful updates the Copy Progress by showing the text string that: The copy operation was successful.

If you wanted to move rather than copy the file, you must go back to the source library and manually delete the original copy of the document.

If the copy fails either because you entered the URL incorrectly or you do not have Add rights to the destination library or there already was a file in the destination library with the same name, you will get a message that the copy operation failed.

This method may be okay if you only have a few files to copy, but if you have a large number files, copying them one at a time from one location to another can be time consuming. A better way to transfer multiple files from one location to another may be to open the library using Explorer. To do this, follow these steps.

Step 1: Open the source library and display the Library ribbon. In the Connect & Export group, locate and click on the Open with Explorer command/icon. (I could be wrong, but I believe you must have Internet Explorer on your local machine for this to work.)

SharePoint opens an instance of Windows explorer that looks just like the display of any local folder from your desktop, but displays the contents of the SharePoint site.

Step 2: In a similar fashion, open another tab on your browser or even another browser instance and navigate to the destination library. Again open the library and then click Open with Explorer from the Connect & Export group of the Library ribbon. You should now have two separate instances of Windows Explorer open, each displaying a different SharePoint library. Now either close or minimize your browser windows to get them out of the way.

Step 3: Arrange the two Windows Explorer instances so you can see the source file as well as the destination library.

Step 4: Now simply click on the file or files you want to move and drag them from the source window to the destination library.

Note, as the image below shows, you can even copy SharePoint files back to your local computer by opening Windows Explorer from your local computer and navigating to the folder where you want to copy or move the files.

If you just click on the files and drag them from one window to another, the files will be copied. However, if you drag the files by pressing and holding down the right mouse button while you drag the files, when you release the mouse button you will be prompted with the following dialog.

In this menu Copy here is bolded because that is the default option. However, by clicking the Move here button, you can copy the files to the new location and then have the original files from their original library automatically deleted.

You can even create shortcuts to the files and place them on your desktop by pressing the right mouse button and dragging the files from their source to the Desktop within Windows Explorer and then select Create shortcuts here. Your copy of Windows Explorer may also support other options like the ability to create a zip file from the copied files and placing just the zip file in the destination folder.

That’s all for this week.

C’ya next time.

ALERT! ALERT! ALERT!

Last time we talked about following a document. While the ability to follow a document is relatively new in SharePoint, alerts have been around at least since I started using SharePoint 2007. Alerts are more narrowly focused than the social tool: Following. By that I mean, alerts are available only to track changes to documents (or items in a list). You cannot create an alert on a user or tag. However, alerts provide some additional flexibility on what types of changes you want to track and when you want to hear about them. So let’s dive into alerts.

If I were to open any library or list, I can click on the Library (List) tab or the Document (Item) tab. In both ribbons, there is an icon with the name Alert Me in a group called Share & Track. Does Microsoft duplicate this feature on both ribbons for some reason? Actually, yes. The Alert Me icon in the Library or List ribbon is meant if you want to create an alert to changes to any document in the entire library or list. This feature is useful if you need to monitor whether others are adding, editing or removing documents or list items. On the other hand the Alert Me icon in the Document or Item tab can be used to monitor individual documents or items for changes. So the first thing I have to decide is whether I want to track changes to the overall library or list or to an individual document or item.

For the balance of this discussion, I will assume that I want to monitor changes to an individual document in a library. However, the technique that I will show here is essentially the same for monitoring changes to the entire library, an entire list, or just a single item in a list. I mention the differences at the end of this article.

If I want to create an alert, I need to select the document first by either clicking on a non-hyperlinked column within the document or preferably by clicking the check box in the first column of the document row.

Note, you may think that you can create an alert on multiple documents by selecting their individual checkboxes before continuing. Unfortunately, if you select more than one document, the Alert Me option in the Document ribbon becomes disabled. You can only create alerts individually on documents.

The image below shows the Alert me icon in the Share & Track group. I have already clicked on the lower half of the icon (where the down pointing triangle appears) to open the dropdown menu of options. In this case, I want to select the first (or default) option for this icon to set an alert on the currently selected document.

Next SharePoint opens a dialog which is rather long. Therefore, I will have to explain first the top half and then the bottom half. In the following image, you see the top half of the New Alert dialog. The first thing you need to do is to create an alert title. Because you can create many alerts on different documents in different libraries in different sites, you want to carefully name your alert so that when you manage your alerts (note the second option in the above dropdown) you can easily identify the alert that you may want to change or delete.

A side note on managing your alerts. You can only manage alerts within a single site at a time. You cannot see all of your alerts within a site collection or a SharePoint farm, at least not with the built-in tools. There are some 3rd party scripts that will help you see and delete alerts across all your sites. I may discuss this in a future blog.

Although I’m not going to go into detail here about naming conventions (that is almost like talking about religion or politics), you may want to consider the following factors in defining your alert name:

  • The name of the site/library
  • The name of the document
  • The type of change you want to have the alert monitor.
  • The frequency of the alert reporting

I will show you the latter two factors when we get to the second half of the dialog in just a moment.

The second thing you may need to do is define to whom you want to send the alert. By default, most users want to receive the alert themselves. In fact, unless you have owner rights to a site (as I do), you can only create alerts that you receive and you will not be able to enter users for this property. On the other hand, site owners can create a list of users separated by semi-colons to specify who should receive an alert.

In addition, you may or may not have the ability to send the alerts by E-mail or text message depending on how your SharePoint administrator has set up your system. I’ll assume that e-mail notification will be on for most users and create my alert that way.

Moving to the second half of the dialog, the next property of the alert I can set is to define which types of changes I want to see in my alert. Read these options carefully. Only the first option, Anything Changes, will report changes that I myself made to the document along with changes from others. I may not want to see my changes since I already should remember them. Therefore, the other three options become more interesting. The second option shows me changes that anyone but me made to any document. Again, I may not care so much about changes made to other people’s documents, but only documents that I added to the library. In that case, I might select the third option. Perhaps even that is too much information. Perhaps I want to know when someone else comes in after I have made changes to a document, whether I originally created that document or not, and may have made changes on top of my changes. Then I would select the last option in this group.

The last option I can set for a document alert is when I want the alert sent. I could ask to see the alert immediately (or at least within a few seconds). Unless knowing about the change is critical, this may be more annoying that it is worth. Perhaps I would prefer a daily summary of all changes made to the document. Sure that may mean that I may not be made aware of a change for up to 24 hours after a change was made, but that may be enough. Note that if I select this option, I will have to select what time of day I want to receive that alert. In the figure above, I selected to receive the alert at 1:00 PM.

Finally, I can choose to receive a weekly summary for the alert. In that case, I must define not only the time that I want the alert sent, but also the day of the week I want. For example, I might want to see my weekly alerts first thing Monday morning.

When I click OK at the bottom of the dialog, SharePoint saves my alert definition and begins monitoring for the changes I asked for. If any changes occur to the document in the current reporting period, I will receive an e-mail detailing the changes. If no changes occur, no e-mail is sent.

There is one significant difference when creating an alert on an entire library or list, I can specify whether I only want to see:

  • when new documents are added to the library,
  • when existing documents are modified in the library,
  • when existing documents are deleted from the library,
  • or all of the above.

Note, it is not possible with a single library alert to see only additions and deletions to the library. Either I have to deal with receiving a single alert with all changes to the library or I can create two alerts, one for additions and one for deletions.

So as promised, why would I use an alert over following or vice versa? First, I like getting email alerts about changes and not having to go to my Newsfeed page. Also I like the fact that I can customize the type of change to the document or the library that I’m interested in and not have to wade through changes that do not interest me. On the other hand, alerts do not let me following people or tags to let me know what else individuals are doing or where other similar content may be. I can also follow documents and libraries without having to implement e-mail or SMS services which alerts require.

So I hope now you know how to decide whether you want to follow objects in SharePoint or to receive alerts. Each has their place if you use them wisely.

C’ya next time.

Someone Is Following Me

So last time I showed you how to share access to documents in your SharePoint document library. If you are only allowing others to view the documents, you may not have any additional concerns. However, if you grant them edit access, you might be interested in knowing if or when they make changes to one of the documents. More importantly for them, they may want to follow your document to know when you or someone else has made a change to it. One way that you (or they) can do this is to follow the document. While today’s discussion will focus on following documents, you can also follow sites, tags, and people.

If after you read this document, you do not see the buttons to follow documents (or sites or people) contact your SharePoint administrator. They may not have turned on this capability in Central Administration. Note that your SharePoint Administrator can also limit the number of people, documents, or sites that can be followed.

The following figure shows a document library with one of the documents selected by clicking on the ellipses to show the additional features dialog.

By clicking the FOLLOW command at the bottom of the dialog, I can receive notices on my Newsfeed page when this document is changed, even if only the properties of the document have been changed such as the document name or other metadata value. After clicking FOLLOW, SharePoint immediately confirms that I am following this document by temporarily displaying a message box in the upper right corner of the screen.

To check my newsfeed for updates to anything I am following, click the Newsfeed button on the My apps dialog (click the grid to the immediate left of the Office 365 banner).

In the center of the Newsfeed page, you should see a list of the most recent activity in the items that you are tracking. In this case, there is only one item showing. However, after marking several documents, people, sites, and tags to follow, this list can be rather large. Notice that in this case, the text tells me the name of the person who acted on the document, what they did, and the name of the document. If I hover over an entry, an ‘X‘ appears on the right side and clicking this icon will remove the item from my feeds list. They will also automatically be removed after several days. However, since this information is only stored in cache, if there is a reboot or an iisreset, the list can be truncated sooner.

On the right side of the Newsfeed page, you can see a summary of the number of people, sites, documents, and tags that you are following. If you click on any of these (that have a value greater than 0), SharePoint shows a list of the items you are following.

If I were to click on the number ‘2‘ above ‘documents’ above, I can see information about the two documents that I am following. I can click on a document name and SharePoint assumes that I want to open the document. If the document happens to be a Word document, Word Online opens the document in view mode. Of course, I can choose to edit the document either online or on my local machine by clicking one of the options in the Edit Document dropdown. I can also stop following a document by clicking the Stop following link beneath each document name and address. Similar options exist for displaying and following people, sites and tags.

If I were to click on the Stop following link, SharePoint gives me a chance to confirm that I really want to stop following that item or I can cancel from an accidental click on the link.

Before ending for today, I want to clear up something that may be confusing as you create your sites.  You may have created a team site to work on in SharePoint Online and you may see a web part with the title Newsfeed in the lower left of the default page. (You can see this in my January 24th 2015 post http://bit.ly/1EkTWoa).  Do not confuse this Newsfeed web part with the Newsfeed app I referenced above in your My Apps dialog.  They are not the same.  In fact, the team site Newsfeed is actually more of a traditional Internet newsfeed in which you can post information pertinent to the site and allow others to respond or comment on it.  Do not look here for references to sites, people, documents, or tags that you are following.

That’s all for this week. Next week I’ll close this mini-series with a review of using alerts as an alternative to following a document and explore some reasons why I might choose to follow some documents while preferring to receive alerts on others.

C’ya.

Sharing Documents in SharePoint Online

There is nothing wrong with using SharePoint along with its document libraries to simply keep all of your documents in the cloud so that you can access them from anywhere. However, a likely scenario is loading documents you want to share with other members of your work teams so they can view and edit them. By default, documents loaded into SharePoint online are not shared. That’s probably a good default. You would not want to have to remember to take away rights to a private document you uploaded. Another way to look at it is, you may need to share different documents with different groups of people.

Today we are going to start a short series of discussions on how to share documents you have added to your libraries with other members of your work team and show two ways you can track their changes. Let’s begin by going to the document library I created for use in the last few blogs.

I selected the document named: Document in the above image by clicking on the selection checkbox to the left of the filename. Notice that this highlights several of the other options at the top of the library including: edit, manage, and share. To share this document I can click the command: share.

I can also click the ellipsis button to the right of the filename and from the dialog that opens, click the SHARE command along the bottom of the dialog.

Both actions open the Share dialog shown below:

Note in the upper left that SharePoint tells you that the document is currently shared only with you. To invite other people to edit your document, make sure the Invite people menu item on the left side of the screen is selected. Then enter the names of the people with whom you want to share the document in the text box to the right. Enter the names one at a time. Because I am tied to Active Directory, SharePoint will use the characters I enter and perform a search on names that have the combination of letters that I’ve entered as shown below (ok, I blurred some of them out to protect the guilty). The more characters you enter, the more refined the search can be. However, don’t be afraid to stop before entered the person’s complete name and then select them from the dropdown list. Note that this can be very useful especially when you are not entirely sure of the correct spelling of the person’s name.

You can select more than one person to share the file by adding a semi-colon between the names. You can also select groups that your organization may have defined in Active Directory to give everyone within that group access to your file.

But what if you don’t want to give the person(s) the ability to edit your file. Maybe you only want to let them view the file. Notice the dropdown list to the right of the name textbox. Click the arrow to open the dropdown and select Can View to limit the users to viewing your document.

If you have some people who you want to be able to view the document and some who you want to edit the document, you must go through the process twice, once for those who can view only the document and once for those who can edit the document.

Because the people you are inviting to edit or view your document will receive an email to announce their permissions to your document, you can also include in the textbox immediately below the box where you entered their names text to tell them why they are getting rights to your file. In some case, you may need to ask the user to sign-in first before they get access to your site. This insures that only those you invite to view or edit your document can actually get to it even if someone else ‘finds’ the link to your library.

Finally, there is one final command that simply says, ‘SHOW OPTIONS’. Honestly, the first time I saw this, I was expected that clicking this command would open an entire dialog with other properties that I could set. Rather, I was surprised to find that it only refreshed the current screen to shown one additional option that asks whether you want to send an email invitation to the people you just selected.

Of course, you don’t need to send an email invitation. You could simply tell the people to go to your site and view or edit the document. However, if you are inviting a lot of people, sending an email is a lot more efficient. In addition, the email that is sent will include information like the link to the document so they can simply click on it to go to the file. The email they receive will look something like the following image.

Well, that’s it for this week. Next time I will look at how to get notified of changes made by people who share edits rights with your document. C’ya.

Are Your Lookup Lists Involved in a Relationship?

SharePoint 2010 adds the ability to define relationships between two SharePoint lists in which one list serves as a lookup to the other list. This capability existed in prior versions of SharePoint. However the lack of enforced relationships allowed users to modify the contents of the lookup list without considering whether individual lookup values were used by the referencing table. SharePoint 2010 corrects this missing feature by allowing the user to either restrict or cascade updates to the referencing list.

What does that mean? Suppose I have a list of Projects that my organization is working on. I want to use this project list as a lookup column source for a project field in a second list, such as a Lessons Learned list. In the Lessons Learned list, I define a column named Projects using the lookup column type. In the Additional Column Settings section, I edit the Get Information From field to point to Projects and use the Project Name column as the source for the In This Column field. This definition establishes the link as shown in the figure below.

Note that once I link the Project list to another list, I can also bring along any of the other fields in that list such as the Project Manager field to be displayed with the data in the Lessons Learned list. The emphasis on displayed comes from the fact that while the Lessons Learned list displays the project manager’s name associated with the selected project, I cannot change that name in the referencing list. I can only change the Project Manager’s name in the Projects list. Furthermore, the column name associated with the project manager’s name will be the concatenation of the list and column name of the lookup, Referenced Projects:Project Name in this case.

If I do not do anything else when defining the lookup, it would be possible for someone to come into the Projects list and change the name of a project that is already linked to one or more lessons learned or even to delete the project from the Projects list. Anyone familiar with referential integrity would refer to this action as creating an orphaned reference in the lessons learned table since the referenced project would no long exist.

In SharePoint 2010, a Relationship section was added to allow the list designer to enforce relationship behavior. The designer has three possible options. First, I can choose to ignore the enforcement of any relationship. Sometimes, this is the correct solution especially if I do not want to change the historical value of the lookup over time that could change the lookup values. Another possibility is to use the Restrict Delete option. This option prevents changes to the values in the lookup list that have already been used at least once in the referencing list. In other words, it would prevent changing the project name if that project had at least one lessons learned record. Finally, the third option is Cascade Delete. With this option, if I change the project name in the lookup list, SharePoint cascades that change to all lessons learned records automatically. Similarly, if I delete a project from the lookup list, it deletes all lessons learned records for that project.

With either relationship enforcement options, I must index the column before the referential connection can be created. This is similar to the behavior of referential fields in a database which require the linking fields to be indexed. The difference is that only the linking field in the referencing list must be indexed within SharePoint. If that field does not contain an index, SharePoint prompts for one using the following dialog.

Clicking OK builds the index and creates the relationship. I can review the relationships defined for a list by selecting List Settings from the List ribbon and scrolling to the last link in the Columns section to display the Indexed columns.

SharePoint then tells me the number of indices the current list has and the fields associated with each one.

In a similar fashion, I could add referential lookup columns to the Lessons Learned table for up to 20 different fields in the table. Let’s suppose I have three referential columns and therefore, three indexed columns as shown here.

Note that in order to review the type of referential link each field uses, I must return to the individual lookup table and review the properties of the lookup column. If I change the referential enforcement option, that change applies only to new or edited records going forward, not existing records that are not edited.

For the purposed of this example, I defined the Project lookup to be a Cascade Delete and the Status and Lesson Type lookups to be a Restrict Delete.

Let’s now add our first Lesson Learned as shown in the following figure.

For the purposes of this example, suppose I add a few more records to the Lessons Learned list so that the first few records look like the following figure.

Now suppose that I go into the Lesson Type list and decide that I want to delete the Coding option from the list. However, I already used the Coding lesson type in at least one Lesson Learned item (see above).

Upon clicking Delete Item from the options dropdown menu, I get a message first asking me if I am really sure that I want to do this. (Personally, I think SharePoint should check the referential option first and if Restrict Delete is set as it is here, to skip over this question.)

After confirming that I do want to delete this item from the lookup table, SharePoint tells me that it cannot delete the item because it is used in the Lessons Learned list.

(Note: Although the option Restrict Delete is in effect, changes to the lookup value will always cascade down to the referencing list.)

Next, let’s look at the Project lookup list. In the Lessons Learned list, I defined this relationship as a Cascade Delete. Next I go into the Project list and delete Project 1 at this point as shown in the following figure.

I would first get a warning message such as the one shown below that tells me that any related items in the Lessons Learned list will also be sent to the recycle bin and would ask me if I was really sure I wanted to do this.

If I click the OK button, not only does the project get deleted from the Project list, but SharePoint also deletes all of the lessons learned related to that project as you can see from this last figure of the Lessons Learned list which no longer has any lessons from Project 1.

That’s all for now.

C’ya next time.

Governance: To Be or Not To Be

It has been a long time since I’ve written any posts about SharePoint so I want to take this opportunity this week to ask you a single question about your SharePoint site.  Do you have a governance plan in effect that has been approved and backed by upper management?

Governance is one of those tricky terms that can mean different things to different people and unless you get everyone in the room to agree with your definition at least as long as the meeting lasts, you probably won’t get your point across.  For example, some people in the room might think that governance only relates to project decisions.  Perhaps this is the result of books like IT Governance by Peter Weill and Jeanne W. Ross.  A good book, but it focuses on how to make decisions that will ultimately lead to appropriate management and use of IT, not on how to implement SharePoint or any other tool.  It looks at who within the organization should make decisions, how they should make decisions and how to monitor the results of those decisions.

Not that those things are not important to management, but to the people in the trenches, especially the SharePoint trenches, governance is more like the topics covered in the book ‘Governance Guide for Office SharePoint Server by Microsoft or any of these books:

  • Practical SharePoint 2013 Governance by Steve Goodyear
  • The SharePoint Governance Manifesto (http://bit.ly/SPGovManifesto)
  • Essential SharePoint 2010: Overview, Governance, and Planning by Scott Jamison
  • Microsoft SharePoint 2013: Planning for Adoption and Governance by Geoff Evelyn

While these book references are just a sampling, I suppose that means that governance to the staff responsible for maintaining your corporate SharePoint sites is more concerned with topics such as:

  • The design of site templates to provide a consistent user experience
  • Quotas to limit SharePoint from becoming a trash dump of every file that ever existed.
  • Locks to control who has rights to add, modify, or delete content, or even to view it.
  • Workflows to pass approve changes to pages and documents, to automate forms and to create simple data collection applications rather than using a programming language.
  • Who can create sites and who can delete them
  • A systems of records management to catalog files stored within SharePoint and to removed aged files when they are no longer needed
  • Content types to define what type of data can be stored in SharePoint
  • Content approval to determine what actually gets saved
  • Versioning to allow tracking of changes and the ability to roll-back changes when necessary
  • Content appearance such as font families, styles, and sizes, colors, page layouts and other physical attributes of the pages.

Ultimately, I suppose the definition of governance requires some governance.

But even if you manage to create a governance document with of the above rules and guidelines, your next challenge will be how to implement that plan and how to get all the people involved to follow the rules.  The more people you have contributing to the content of your site, the more difficult this challenge becomes.  That is unless everyone in the organization knows that the SharePoint Governance document has been approved by the very top of your corporate management.

But even that may not be enough unless there is a way to ensure compliance with the governance.  Rules that are created, but not enforced are merely suggestions.  It will not take long until the common look and feel that you originally planned for is lost and chaos fills the gap.

Unfortunately, many SharePoint projects fail when governance is treated as a platitude or a wicked problem (http://bit.ly/WickedProblem).  Governance can fail when SharePoint is so huge that no one wants to be responsible for all of it and perhaps no one has interest in being responsible for all of it anyway.  That is because most organizations are filled with people with divergent thinking typically centered around their core responsibilities.  This problem can only be reigned in by a central core governance committee that has the power to create the governance document and enforce it.

There are also some people who feel that SharePoint should not just be treated like another tool that the IT department has brought in-house and then thrust onto everyone.  Rather, SharePoint should be looked at as a ‘Change Project’ that will change the way people work in an organization presumably to become more efficient and productive by providing:

  • Internal and external web sites that are easier to navigate than the previous sites.
  • Collaboration platforms to increase communication between team members to exchange ideas provide the group knowledge base for teams and projects
  • Document repositories that can be searched allowing users to quickly find information without having to search through folders within folders within folders.

While I cannot teach you everything you need to know about SharePoint governance in a single blog post, I tried to provide you with at least a few references to get you started finding out why SharePoint without governance at your organization may be the reason that SharePoint is wobbling more than a tightrope walker crossing the Grand Canyon in a light breeze.

C’ya next time.

 

Using External Content Type in a Custom List

In my earlier blog entries, you saw how to create an External Content Type to connect to a SQL Server table and how to display that data in an External List.  Did you know that you can also use that external data in a custom list?

I’m going to assume you still have your external content type and begin by going to any site in the web farm.  Remember that the external content types you define are stored in Central Administrator and work across the entire web application.

Open your site and create a new custom list (This will also work for libraries.  With your list open, click on List Settings.

In the Columns section, you see all the defined columns for the list/library.  Beneath the list are several options that you can perform by clicking on them.  The first option is: Create Column.  Clicking this option opens the New Column dialog.  For the column name, you can use any name unique to your list/library.  The important part is to select the column type: External Data.  When you select this type, the properties in the Additional Column Settings include the field External Content Type that lets you select, by clicking the second button to the right of the field from the available External Content Types you have defined so far.  Immediately beneath this property is a dropdown list of the fields from the external content type.  This field will be displayed as the value for this column.  Dropping down a little further is a checkbox to add all fields from the External Content Type to the list.  Alternately, you can use the checkboxes to the left of each field name to custom select the fields you want to include in the list.  Why do this?  When you select a record from the external data for this column, SharePoint populates the other fields choosen to appear in the list with data values from the same record.

Clicking OK at the bottom of the column properties page saves the definition of the external data column.

Now if you return to your custom list and open it, you will see that the default view includes not only the custom columns defined for the list, but also all the external columns selected from the external content type.

Go to the items ribbon and add a new item.  The default form that SharePoint builds for the list/library appears in a popup window.  You will notice that all of the standard custom fields appear in this dialog, but only the field for the external data column defined in the column definition appears.  You can directly enter a value into the external data column field directly and then click the first icon to the right of the text box to check if the external data table has a record with that value, or you can click the second button to display a list of records from the external data source.  Note that this list uses a horizontal scroll bar to let you see all the columns in the external data.  To select a record, click anywhere within it and then click the OK button.  This returns you to the New Item dialog which you can click ‘SAVE’ if you have entered all the data for this item.

When SharePoint displays your list again, you will see not only the data you just entered, but also the data for all the associated fields.

Next time, we will look at the pros and cons of using a custom list with external data and how to build a customNew Item form for this list.