SharePoint Experts, Information Architects, Expert Witness

We provide consulting in a broad array of business and technology from architecture to design to deployment of global systems with a focus on surfacing data in the enterprise. Specialists in Microsoft, we are a premier provider of SharePoint Expertise (including 2016 and Office 365). We also provide Expert Witness/Legal Expert in eDiscovery, source discovery, patent infringement, piracy and more! We also have established SICG DLDS s.a. - our counterpart in Costa Rica that specializes in water systems (http://www.crwatersolutions.com) - Contact me direct: david_sterling@sterling-consulting.com or call 704-873-8846 x704.

Search This Blog

Friday, March 17, 2017

Content Types and Hidden Columns not available in List/Library

Came across a reminder the other day about using Content Types with Hidden Columns. As you may know, Hidden Columns do not show up in forms allowing you to use them for values that might be generated by a Workflow or similar.

In my case, I created a workflow that needs to set a 'Document Number', something other than just using ID, this one uses a list to keep track of the latest number. As a good practice, the definitions were setup as Content Types (in my case, 3 - 1 core and 2 that inherit from the core).

The need here is that a) the Document Number needs to be assigned by the workflow, b) visible in the List/Library Views and c) it isn't supposed to show up when adding/editing an item (i.e. so user cannot change).

So, one might think to simply set the field/column to Hidden up front and here's where the problem comes in.

If you set a column as Hidden, it does indeed appear in the content type but when the content type is added to a list/library, surprise! The column is not added, thus not available in the views - defeating the entire purpose.

The solution is a sloppy workaround but does work (you just need to document this!).

BEFORE adding the content type to the list/library, leave the field as Optional - this includes any content types that inherit from it.

NEXT add the content type(s) to the list/library - the column will appear. Set any views that you want, particularly those that need to display the column.

AFTERWARDS, go back to the Content Type(s) and set the column as hidden.

Once this is done, you will be able to use the column as you would have expected in the first place.

This problem has be a long standing one (past 4 years or more).

An extensive post on this (from back in 2013!):

https://paylord.wordpress.com/2013/11/18/content-types-and-hidden-columns/

Monday, February 20, 2017

SharePoint Backup failure "A system assertion check has failed" - Health Message "Expired sessions are not being deleted from the ASP.NET Session State database"

SharePoint 2013/2016 On Premise:

A problem may occur when you run a backup - it fails and for each database, you see a message that looks like this:

Object SharePoint_Config failed in event OnBackup. For more information, see the spbackup.log or sprestore.log file located in the backup directory. 
SqlException: A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support. 
BACKUP DATABASE is terminating abnormally. 

Wow - pretty scary eh? Most likely if you check your Health monitor, you see another error:

Expired sessions are not being deleted from the ASP.NET Session State database.

DON'T PANIC - It turns out to be a simple problem! The SQL Server Agent Service is NOT running. Thus the backup cannot get proper control of the database and the timer job to clear session state won't be running.

Start the Agent on SQL Server first then for the Backup issue:

Delete whatever backup files were created (they are junk), start the backup again.

For the Health error:

Open the Health Monitor from Central Admin, click on the error (Expired sessions...) and click the Re-analyze button.

UPDATE:

Turns out the above can also be caused by:

1) Lack of space for the backup (must be able to hold the entire 'estimated size')
2) Lack of permissions for the backup folder (must have the SharePoint Farm and Service Accounts added to read/write).


Friday, February 17, 2017

SharePoint Online workflow emails in Office 365

Another issue in SharePoint Online regarding workflows.

When you create a workflow, it obviously creates a task and sends an email to the participant(s) that they have a task.

However, minor issue - in Outlook 365, the email message states "Click the Open this task button" to open the task. In regular Outlook, this 'button' appears in the toolbar when you open the mail message. However, in Outlook 365, this button is nowhere to be found!

This means a training issue - when you are using workflows that send emails, the link to the task is missing so you must tell your users to navigate to the site itself, open the appropriate Task List and respond to the task.

SharePoint Library templates in SharePoint Online drop content

Having used Office 365 for quite a while, there's been some oddities as of late. One I have encountered was creating a List/Library template and including the content. This is a common feature I use when doing On Premise so I would assume that it would be the same, but Au Contraire!

In Office 365/SharePoint Online I created a simple document library with a few additional fields - in this case, year and month - so I could quickly duplicate a library format. A quick view of this looks like this:


In the SAME SITE, I created a new library using the template where I included the content - surprise, the some of the data was lost:


Looks like they need to tighten up a few things eh?

Solution? Use a template if you need to but remember you'll have to check all of the data!

Thursday, February 2, 2017

Wiki Page Library - Updated Pages - An error has occurred on the server - SharePoint Online/2013/2016

When working with Wiki Page Libraries, you may encounter an error when opening the library (in fact, I've had this be the norm in Office 365/SharePoint Online).

When you open the Home Page (or view the Pages library), you'll see an error on the left under "Updated Pages" showing "An error has occurred on the server":


Turns out this is not just a little problem - looks like QA missed a few things. The error is caused because there is NO INDEX on the list, therefore it fails as above.

To fix this, you need to open the Library Settings (click the PAGE tab, then Library Settings in the ribbon):


On the Settings page, scroll down to the Columns section and click on Indexed Columns:

On the Indexed Columns page, click Create a new index:


Use the drop down to select the Modified column (and WAIT for the page to refresh) then click the Create button:

There will be a 'working on it' page for a few seconds (depending!) but when it comes back you will see the new index:


Click the Settings breadcrumb then the Library name - this returns you to the pages view of the library. You'll notice that it is fixed!


Simply click on the name of the Home page to open the library in Wiki view.





Wednesday, February 1, 2017

SharePoint 2013 Prerequisites - unable to install Application Server Role, Web Server (IIS) Role

While I've posted before on this, the other solutions I've used didn't work. I resorted to my own version of the installation process when you get this error.

Open up PowerShell (using 'Run as administrator') and enter the following as 'groups' (run one command at a time):

Set-ExecutionPolicy Unrestricted

Enter Y when prompted, next:

Import-Module ServerManager

Next:

Add-WindowsFeature NET-Framework-45-Core,NET-Framework-45-ASPNET,Web-Net-Ext45,Web-Asp-Net45,Web-Includes,NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45

This should indicate success - next:

Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer

This should also indicate success (it may also indicate No Changes Needed).

For best results, run the Prerequisites UI again just to make sure.

FOLLOW UP: I had one server that just would not get corrected; it still indicated that the Web Server role had a configuration error.

In this case, I decided to try loading up a W2012 server and not apply the Windows Update but install SharePoint first - SAME PROBLEM.

Fix: I tried loading the installation that has SP1 already - running the Prerequisites alone (from the install disk using 'Run as administrator') it worked!

Friday, January 6, 2017

Restoring SharePoint site default groups

Occasionally, a default group for a SharePoint site collection can get deleted. When it does, it means that non-owners cannot invite others to the site and you might receive an error in places:

 “The groups required to manage users for your site are missing

You'll most likely see this under Access request settings (Site Settings > Site Permissions > Access request settings in the ribbon).

Getting the default groups back is not very obvious but as it turns out, it is quite simple. Simply open the site in question and change the URL to:

<site url>/_layouts/permsetup.aspx

This will open up the People and Groups page with the default groups:



Click the OK Button and the groups will be restored!