Home brew grain milling with a coffee grinder

I unpacked all our ingredients and equipment to start the home brew project off today, only to find I made a very silly mistake. I had ordered 3kg of Maris Otter uncrushed and had no way to crush it. No problem, I’ll just order some more I thought. It got me thinking though, and not waste this grain, was it possible to mill the grain ourselves before the online order arrived?

Maris Otter uncrushed grain
Maris Otter uncrushed grain

First home brew disappointment

Hoping to start our first brew off on Tuesday evening, I was doubtful that the online order would be delivered in time. The order was dispatched and estimated to arrive within two working days. The race was on!

Local breweries, forums & rolling pins

The research began. I reached out to two local micro-breweries and asked them if they had a grain mill available, unsurprisingly they didn’t! One suggested using a pestle & mortar or a rolling pin which I tried but I felt the result wasn’t great. While attempting the pestle & mortar method I questioned whether we needed a grain mill to crush the grain or can we use some other tool?

Home brewer Research & Argos

I did want any home brewer would do and reached out in search of an answer in the home brewer forums. It seems we’re not the only ones to have made this mistake! One method suggested by many home brewers was to use an electric coffee grinder. Staying clear of any internet suppliers to avoid any further delays with delivery etc, I leapt on the Argos website, where I found three different coffee grinders available. I read their product descriptions and reserved the one with largest capacity and easiest access (De’Longhi KG40 Coffee Bean Grinder). Within 20 minutes of making the reservation, I had the thing unboxed on the counter, grain loaded and all!

Milling grain with coffee grinders

A few test grinds indicated I needed to grind for 12 seconds to get it to the consistency I needed. I was able to grind just over a 100g each go and milled our batch of 3kg in less than 15 minutes. The coffee grinder solution does work!

Crushed Maris Otter
Crushed Maris Otter

The solution is not all perfect as we’re not able to grind, mill or crush grain consistently as you might be able to with a true grain mill but we do have an efficient tool for those rare occasions when we need it. Bonus, we can grind coffee beans as well!

3kg of Maris Otter crushed using a coffee grinder
3kg of Maris Otter crushed using a coffee grinder

We beat the online order!

It is Tuesday, our uncrushed grain is now crushed. Two working days have passed and the online order still hasn’t arrived. Nothing can stop us from starting our first brew as planned this evening.

What types of email does SharePoint send automatically?

Update: After reviewing the SMTP logs, on a very active SharePoint 2013 environment and some further research, I now have an extensive list of the types of emails SharePoint sends. Most of these now include an example image of the email that is sent.

I recently responded to a question posted to Twitter using the #SPHelp hashtag. Tim Ferro was trying to understand all the different types of email that SharePoint sends automatically.

While I may have misunderstood his tweet to begin with, it certainly got me thinking about what emails does SharePoint actually send. I gave it some thought with a colleague and have produced this post as a result.

  1. MySite Cleanup Notification
  2. Task assigned to you notification
  3. Alerts
  4. Storage limit exceeded
  5. Sharing – Invited to
  6. Site Mailbox Created
  7. MySite Setup Notification
  8. Mentioned in a conversation
  9. Site Deletion Notice (Site Policy)
  10. Site Access Requests

Example of SharePoint Emails

There is very little information that provides an answer to Tim’s question. I’ve attempted to create a consolidated view of all the different types of emails that SharePoint sends. I have sourced example images from various sources on the internet. They have been credited to the author and include a link to the originating content.

MySite cleanup notification

MySite Cleanup Notification. Credit: SharePoint 2013 Admin blog http://sharepoint2013admin.wordpress.com/2013/11/19/my-site-cleanup-timer-job-2/
MySite Cleanup Notification. Credit: SharePoint 2013 Admin blog http://sharepoint2013admin.wordpress.com/2013/11/19/my-site-cleanup-timer-job-2/

Task assigned to you notification

Task assigned to you email. Credit: Tomislav Tasic http://tomislavspadmin.blogspot.co.uk/2014/06/enable-email-notifications-for-tasks.html
Task assigned to you email. Credit: Tomislav Tasic http://tomislavspadmin.blogspot.co.uk/2014/06/enable-email-notifications-for-tasks.html

Alerts

SharePoint Alerts. Credit: Merin Nakarmi http://sharepointrealm.blogspot.co.uk/2013/06/how-to-cusomize-alert-email-for.html
SharePoint Alerts. Credit: Merin Nakarmi http://sharepointrealm.blogspot.co.uk/2013/06/how-to-cusomize-alert-email-for.html

Storage Limit Exceeded

Storage Quota Exceeded. Credit: Three Will https://www.threewill.com/2013/12/storage-quotas-in-sharepoint-online/
Storage Limit Exceeded. Credit: Three Will https://www.threewill.com/2013/12/storage-quotas-in-sharepoint-online/

Sharing – Invited to …

Mentioned in a conversation email. Credit: Jennifer Mason, CMS Wire http://www.cmswire.com/cms/social-business/sharepoint-2013-social-features-highlights-019624.php?pageNum=2
Mentioned in a conversation email. Credit: Jennifer Mason, CMS Wire http://www.cmswire.com/cms/social-business/sharepoint-2013-social-features-highlights-019624.php?pageNum=2

Site Mailbox Created

Site Mailbox Created. Credit: Mark Kashman http://blogs.office.com/2013/04/02/whats-new-in-sharepoint-online-top-10/
Site Mailbox Created. Credit: Mark Kashman http://blogs.office.com/2013/04/02/whats-new-in-sharepoint-online-top-10/

MySite Setup Notification

MySite Setup. Credit: Sudhit Kesharwani http://sharepoint.stackexchange.com/questions/72530/sharepoint-mysite-changing-the-notification-email
MySite Setup. Credit: Sudhit Kesharwani http://sharepoint.stackexchange.com/questions/72530/sharepoint-mysite-changing-the-notification-email

Mentioned in a conversation

Mentioned in a conversation
Mentioned in a conversation email. Credit: Jennifer Mason, CMS Wire http://www.cmswire.com/cms/social-business/sharepoint-2013-social-features-highlights-019624.php

Site Deletion Notice (Site Policy)

Site Deletion Notice. Steven Boyle, SharePoint IT Pro Blog http://blogs.technet.com/b/tothesharepoint/archive/2013/03/28/site-policy-in-sharepoint.aspx
Site Deletion Notice. Steven Boyle, SharePoint IT Pro Blog http://blogs.technet.com/b/tothesharepoint/archive/2013/03/28/site-policy-in-sharepoint.aspx

Site Access Requests

Site Access Requests. Jasper Oosterveld https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-Online-2013-Request-Access-Procedure.aspx
Site Access Requests. Jasper Oosterveld https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-Online-2013-Request-Access-Procedure.aspx

Other possibilities

There are a number of other emails that SharePoint might send, which I have been unable to confirm at this time.

  • Health Analyser – Alerts
  • Managed Metadata Service – term managed and term submission
  • Solution resource usage – site collection exceeded daily resource usage
  • Membership requests (requests to join/leave groups)
  • MySite new followers and Colleague and keyword suggestions
  • Site Collection Upgrade Notification (2010 > 2013)
  • Created and Delete Upgrade Evaluation Site Collections
  • Removal notifications of user provisioned Site Collections
  • Search Service Application
  • Apps Service Application
  • eDiscovery
  • Record
  • Publishing
  • Retention

Community Contribution

Not stopping there, I have also asked the community via the Office 365 Technical Network on Yammer (10,000+ members). Let’s see what people come back with. In time I’d like to add more detailed summaries of these including a sample of the emails.

Event Receiver to Remove “Recent” from SP2013 Quick Launch

I’m sure removing the Recent heading from the Quick Launch in SharePoint 2013 has been talked about a million times over since SharePoint 2013 was launched. It’s been solved in this way and that way, by hand, with javascript and programmatically. In this post I share the code to remove the heading with the ListAdded event receiver.

With and without the Recent heading on the Quick Launch navigation.
With and without the Recent heading on the Quick Launch navigation.

Event receiver code

It’s based on code provided as an answered on the SharePoint StackExchange website by Remko van Laarhoven. I’ve then wrapped in a list added event receiver so that it is executed each time a new list or library is added. As the list/library is then not available on the Quick Launch I’ve added a couple of lines to then show it.

Update (22nd June 2014): since creating this solution I have since discovered that the Recent heading still is created even with the event receiver triggering when lists/libraries created from templates. I resolved this by adding a sleep before the code to remove the heading is executed.
[code language=”c”]System.Threading.Thread.Sleep(1500);[/code]

This in conjunction with the jQuery method prevent users from ever seeing the Recent Heading whether they are viewing the page or editing the links on the page.
[code language=”js”]
// Hide Recent on Quick Launch
$("#ctl00_PlaceHolderLeftNavBar_QuickLaunchNavigationManager .ms-core-listMenu-root li:contains(‘Recent’)").children().remove();
$("#ctl00_PlaceHolderLeftNavBar_QuickLaunchNavigationManager .ms-core-listMenu-item:contains(‘Recent’)").remove();
[/code]

[code language=”c”]
public class ListAddedEventReceiver : SPListEventReceiver
{
public override void ListAdded(SPListEventProperties properties)
{
base.ListAdded(properties);
SPWeb web = properties.Web;
if (web != null)
{
//Sleep
System.Threading.Thread.Sleep(1500);

//Remove heading
var title = SPUtility.GetLocalizedString("$Resources:core,category_Recent", null, web.Language);
SPNavigationNodeCollection nodes = web.Navigation.QuickLaunch;
foreach (SPNavigationNode node in nodes)
{
if (node.Title.ToLower().Equals(title.ToLower()))
{
// Delete the recent heading node
node.Delete();
break;
}
}
// Show list on the quick launch
SPList list = web.Lists[properties.ListId];
list.OnQuickLaunch = true;
list.Update();
}
}
}
[/code]

Download Remove Recent Heading Solution

For those who don’t want to create the event receiver themselves in Visual Studio or don’t know how to, I have a packaged the solution so that you can deploy the WSP to your environment. For those who don’t know how to use this code, I will write a post explaining how to create this event receiver using Visual Studio from an IT Pros perspective very soon.

jcallaghan.removerecentheading.wsp

As with anything you download from the internet remember to review, rename and test this code/solution before using it in a production environment.

Long live the best SharePoint ULS Viewer

Update (15th June 2014): We may see a return of the SharePoint ULS Viewer very soon. Jeremy Thake and Office Dev indicated it is coming back to life very soon.

Community Discussion (9th June 2014): SharePoint Consultant and MVP Vlad Catrinescu has started a discussion about possible replacements for the ULS Viewer on the SharePoint Community site (http://sharepoint-community.net/forum/topics/what-is-the-best-replacement-for-ulsviewer).

After noticing a tweet from Brian Lalancette ‏(@brianlala, you might also know him through his AutoSPInstaller project), I gasped at the thought that the best ULS Viewer for SharePoint is no longer going to be available.

Along with many others in the SharePoint community I was quite surprised by this news and started to consider what alternative were available. I’ve used the ULS Viewer from MSDN so many times I have lost count and don’t know where I would be without it.

The best ULS Viewer
The best ULS Viewer

For those who’ve found this post and just want to download a copy of the ULS Viewer tool you’re in luck. I have preserved a copy of ULS Viewer as a .exe and a .zip archive – these are available here http://bit.ly/UlsViewer and http://bit.ly/UlsViewerzip.
You might receive a warning from the URL shortening service when using the .exe link warning against directly downloading an exe – this is why I have also provided a ZIP version.

Other SharePoint ULS Viewer tools…

As the ULS Viewer is no longer available I thought I shared some alternative tools or techniques to get access to the SharePoint ULS logs.

ULS Studio

A Codeplex project that I’ve used on several occasions and does somewhat come close to the features that the ULS Viewer tool had – ULS Studio (https://uls.codeplex.com).

ULS Studio
ULS Studio

CSOM for SharePoint Online

If you’re using SharePoint Online you could follow Vardhaman Deshpande’s blog post (http://www.vrdmn.com/2014/03/view-tenant-uls-logs-in-sharepoint.html) and access the ULS logs using the Client-Side Object Model (CSOM).

SPO ULS with CSOM - Vardhaman Deshpande
SPO ULS with CSOM – Vardhaman Deshpande

Developer Dashboard

There’s also the ULS tab within the Developer Dashboard, although this is limited to reviewing errors related to those requests where the Developer Dashboard is displayed or used.

The Developer Dashboard can be activated using PowerShell – SharePoint Developer Devendra Velegandla shares the PowerShell and reviews the Developer dashboard on his blog (http://www.sharepoint-journey.com/developer-dashboard-in-sharepoint-2013.html).

[code language=”PowerShell”]
$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$dds = $svc.DeveloperDashboardSettings
$dds.DisplayLevel = "On"
$dds.Update()
[/code]

ULS errors displayed in the Developer Dashboard
ULS errors displayed in the Developer Dashboard

PowerShell

Use can even use PowerShell to get details about a correlation error. Wictor Wilén shares details about this method in an article on his blog (http://www.wictorwilen.se/Post/Working-with-SharePoint-2010-Correlation-ID-in-PowerShell-and-code.aspx).

[code language=”PowerShell”]Get-SPLogEvent | out-gridview[/code]

Get-SPLogEvent | Out-GridView
Get-SPLogEvent | Out-GridView

Summary

While I’m not going to stop using the ULS Viewer – I can only recommend you use something to help you view the SharePoint ULS logs. Troubleshooting SharePoint is not easy but you can help yourself, firstly by always checking the event log and secondly being comfortable with your method of doing.

Long live the best ULS Viewer.