Did you know the Microsoft MVP Program has had a mentorship program for a few years now that allows schools and teachers to request mentors for virtually every product Microsoft has?

Working with people who are interested in learning new technologies means a lot to me. I’m an older guy now but back in the NT 4.0 days someone contacted me on AOL asking me about networking and servers OS’s and I invited him over to my office and we covered that basics (OS, DNS, DHCP) and more over a few months. He was a mechanic just out of high school and always felt like he wanted to learn new technologies. He’s now running a very successful consulting firm in St. Louis, Mo.

I got so much out of that personally and I can say that I’ve been involved in this program for years. To be honest that’s why I work in the forums, why I run events and like to help others get ahead when they might not have a chance otherwise. Helping others is good Karma!

The technologies start at Azure and end at Xbox and includes every product in-between. Take a moment and spread the word about the program to friends or teachers you feel might take advantage of this.

But the above PowerShell command failed with this message:
Microsoft.Office.Server.UserProfiles.UserProfileApplicationNotAvailableException: UserProfileApplicationNotAvailableException_Logging :: UserProfileApplicationProxy.ApplicationProperties ProfilePropertyCache does not have 1db0699a-dd55-4916-8c2b-086a1956d71f …….Troubleshooting
In SharePoint 2013, there is a new windows service called the Distributed Cache service that utilizes the AppFabric Caching Windows Service.
This service was running under a service account that was different from the farm account that I was using to run the PowerShell. Apparently, this account needed to have full control over the User Profile Service application. When I set that up, and then ran the Update-SPProfilePhotoStore PowerShell command with the AppFabric service account, it ran successfully.
It took me some time to figure this out; hopefully this serves to shave some time off your troubleshooting.
- Sudharsan Raman, Senior Consultant

Reporting Services caching feature is used as a performance enhancement technique where reports frequently used are cached to shorten time required to retrieve it. For parameterized reports, multiple copies of same report can be cached with different parameter values.
To improve server performance, caching can be preloaded using cache refresh plans or using data driven subscriptions using Null Delivery Provider.
The scenario we will cover is a two-step configuration - a) Configure Processing Options and then b) Create Cache Refresh Plan. This will help configure create a new cache report, when to expire an old cache and get a new copy.A – Processing Options –
1. Click down arrow icon to report to expand context menu and select “Manage Processing Options”
2. On “Processing Options” page select following options –

a. Data Refresh Options –> Select ‘Use Cached data’ This option tells reporting services to retrieve cached report stored on server
b. Cache Options –> Select a shared scheduler (you can create a shared scheduler from Site Settings  Manage Shared Scheduler **) or you can configure a custom schedule based on data refresh requirement. In our case we have create a shared scheduler and assigned it to the cache options
c. Processing Time-out –> Select default server settings for cancelling long running reports
d. History snapshot options –> Select “Create Snapshot on Schedule” This option is to create a snapshot before expiring old report and getting a new one. It just helps do comparison on old and new data on the report.
e. History Snapshot Limits –> Select default server settings. This limits number of snapshot to store for that report.

B – Create Cache Refresh Plan –
1. Click down arrow icon to report to expand context menu and select “Manage Cache Refresh Plans”
2. On Cache Refresh Plan page, click on “New Cache Refresh Plan” to create a new refresh plan for the report. Each report will have its own plan and can be customized for each individual report
3. On New Cache Refresh Plan, select following options –

a. Description –> Enter plan description
b. Schedule –> Select a shared scheduler (you can create a shared scheduler from Site Settings  Manage Shared Scheduler **) or you can configure a custom schedule based on data refresh requirement. In our case we have create a shared scheduler and assigned it to the cache options
c. Parameters –> Configure report parameters with which the cache copy needs to be created. For this sample, we have used default parameters assigned to the report
d. Click ‘Ok’ to get back to previous page (Refresh Plan)

4. On Cache Refresh Plan page, a new plan will be listed with the description name. To edit, click on ‘Edit’ link right before the plan description.
5. Click ‘Ok’ to get to report library page
Caching is created and once the caching completes, check report execution time. It should load report significantly quicker than it used to before caching. In our case, it went down from 2.5 minutes to ~10 seconds.
To learn more on report caching go to – Microsoft TechNet.
- Shabbir H. Mala, Senior Business Intelligence Consultant

Many times I have been asked by clients if they can hide the ribbon for select users. This seems like it would be a generally easy task to complete, however it turns out it is much more difficult than expected.
So I first tested this with the security trim snippets and the result was a page height of about 200px and a vertical scrollbar with all the content jammed inside. Not exactly user friendly. I then decided to write some jQuery for a solution.
I don’t want to get too much into a jQuery tutorial, but the “document.ready” method will wait for the page to render before firing. With this method, we can wait for SP to do its work on the page height and then we can hide the ribbon. Also, make sure you have the jQuery library referenced.
How do we do that you might ask?
Good question! So first, we want to hide the ribbon for all users. This can be done simply by adding a display:none to the ribbon and suitebar ID.
This will hide the ribbon for everyone. However, we only want to hide the ribbon for those that you want read only access. Otherwise, the users will need the ribbon to edit page content. We then want to show the ribbon for those who have permissions, and in this case it would be Owners and Contributors. We will do this by using a security trim snippet around our jQuery. Go into design manager and click the masterpage you are currently using. Then click Snippets in the top right corner. Create a security trim snippet by clicking the Security trim dropdown and selecting the type of permissions you want to set. For this demo, I chose “Show to administrators”.
Replace the div with class=”DefaultContentBlock”with the following jQuery that will then show the ribbon for those who have access.
And that is all there is to it!

PLA’s Kristin Cameron spoke at SharePoint Saturday in Michigan last weekend. Her presentation covered the Business Applications of the new Managed Metadata features in SharePoint 2013.
You can view the slide deck from her presentation to learn the following.
Learn how to implement practical business applications to new features (as well as some existing features) of Managed Metadata in SharePoint 2013.