Set Item level user permissions to add/edit/read only own items

In a recent project with SharePoint 2016, I needed to configure a library with the following user requirement: The users only have to view, their own items.

By default, this option it is not available in Library settings, it is only available for List settings, so… what we can do for a Library? You guessed right, PowerShell.

To do it, we can follow the following process:

You can also use s PowerShell script to manage the item level permissions:

Manage Read Access
$web = Get-SPWeb http://urlsite/
$list = $web.Lists[“Library Name”]
$list.ReadSecurity = 2
$list.Update()
$web.Dispose()

Note: 1 = “Read all items”, 2 = “Read items that were created by the user”

Manage Write Access
$web = Get-SPWeb http://url site/
$list = $web.Lists[“Library Name”]
$list.WriteSecurity = 2
$list.Update()
$web.Dispose()

Note: 1 = “Create and edit All items”, 2 = “Create items and edit items that were created by the user” 4 = “None”

Hope that helps!

Advertisements

Skype photo not showing up in the client

This issue have been bothering me a while, but not enought to take it seriously, the problem was that everyone was able to see my picture, but not me, so, it was a weird behaviour. Sometimes when I clean the Skype Adress Book, the picture appeared for a few days, but then disappear magically.

So, after spending few hours trying to solve this problem, I found this magical post from Koen Zomers

The steps are quite simple:

  1. Sign Out from Lync/Skype
  2. Open the regedit
  3. Go to: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync or HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Lync
  4. Make a backup of the Lync Folder
  5. Delete the Lync Folder
  6. Sign in again in Lync/Skype

You will see that the deleted Lync folder have been created again, and finally your photo shows again. I hope that this problem won’t be reproduced again 🙂

 

Disable MySite “Let’s get social” dialog

By default, when you open the MySite SC for the first time, you will receive this dialog:

image_thumb[3].png

So, probably under your unknow of SharePoint, you will press “Okay”, but what you don’t know is that pressing that “Okay”, changes the privacy of all your social activities to “everyone”, and also send you an email. So probably, most of users don’t want to share their activities, but what we can do to solve this? PowerShell of course:

$web = get-SPWeb http://urlmysitehost
$web.Properties[“urn:schemas-microsoft-com:sharepoint:portal:profile:SPS-O15FirstRunExperience”]=”OFF”
$web.Update()

Hope that helps!

SQL how to change SA password

Did you lost your SA password? Do yo need to do some actions in your SQL server?

If the answer is yes, this post is for you. Following this procedure, will be very easy to change the SA password from the SQL. This steps works for SQL 2005, 2008, 2008R2, 2012 and 2012R2. The only requirement, is that you’ll need to be an OS administrator.

First of all, open a CMD window as administrator

Execute osql -L which will show all the SQL servers in the domain

Choose the SQL Server that you want to change the password, and execute the following command: osql -S ServerName -E

sp_password NULL, NewSAPassWord, ‘sa’
go

And you’re ready to go!!

SharePoint 2013 Newsfeed – We’re still collecting the latest news error

When you’re doing some content migration between environments, or even if you’re trying to stop services to reallocate them in other servers, you have probably seen this error message on your SharePoint 2013 MySite Newsfeed:
“We’re still collecting the latest news. You may see more if you try again a little later.”

I have face off this problem many times, and then I realize that I needed to write it down the solution to try to not to forget it and get a quick solution to that problem.
This problem is related with the Distributed Cache of the servers, why? One reason could be that someone has rebooted all the distributed cache services at the same time. Once you face this problem, you have two possible actions: wait (nobody loves waiting) or use PowerShell to refill the Distributed Cache.

Use-CacheCluster
Get-CacheHost
#Replace URL with your mysite URL. This script will populate each user’s cache using
Update-SPRepopulateMicroblogFeedCache
#The following line will populate and the entire user profile newsfeed cache
Update-SPRepopulateMicroblogLMTCache.
$proxy = Get-SPServiceApplicationProxy | ? {$_.Name –like “User Profile Service Application*”}
Update-SPRepopulateMicroblogLMTCache -ProfileServiceApplicationProxy $proxy
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.Office.Server”)
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.Office.Server.UserProfiles”)
$url = “http://mysiteurl.domain.com“
$contextWeb = New-Object Microsoft.SharePoint.SPSite($url);
$ServerContext = [Microsoft.Office.Server.ServerContext]::GetContext($contextWeb)
$UserProfileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServerContext);
$Profiles = $UserProfileManager.GetEnumerator();
foreach ($oUser in $Profiles ) {
if ($oUser.item(“SPS-PersonalSiteCapabilities”).Value -eq 14 ){
$personalurl = $url + $oUser.item(“personalspace”).Value
Write-Host $oUser.item(“AccountName”).Value
Update-SPRepopulateMicroblogFeedCache -ProfileServiceApplicationProxy $proxy -accountname $oUser.item(“AccountName”).Value

}
}
$contextWeb.Dispose()

After running the script on each WFE where distributed cache runs, wait 15 minutes for the Newsfeed data to populate. Finally, test newsfeed

References:

http://consulting.risualblogs.com/blog/2014/04/01/export-impor-distributed-cache-configuration-in-sharepoint-2013/
http://sharepoint.stackexchange.com/questions/125798/userprofileapplicationnotavailableexception-logging-userprofileapplicationpro
http://netwovenblogs.com/2014/03/11/the-newsfeed-is-not-working-on-mysite-in-sharepoint-2013/

Thoughts about Delve

Whilst Office Graph it is a system that automatically learn about the content we publish (or how it is called nowadays Machine Learning), Delve it’s an application web that uses Graph to show us relevant content that has been crawled by the search API, so it is meant to be a personal search and discovery tool.

However, the most important part, it is that sometimes Delve could show documents that I don’t have access and probably should not be able to see them. To illustrate this, imagine that I usually work with a Project Manager, and he has a document where he puts our evaluations during a project, but how I usually collaborate with him, Delve interprets that this document could be useful for me, which is incorrect.

Therefore, as you can imagine, Delve could be a problem regarding permissions and other things, so we have to be careful with this new tool.

As information owners, what we can do? For example, delete some search results, so Delve will not be able to crawl the information and thus show it to certain people. Which options do we have?

  • Configure the library to no to index the content: Personally, I do not like this option, because the information will not appear either in SharePoint Search results, for example.
  • Deactivate Graph in the O365 administration panel, but this action also will deactivate Delve
  • Another option could be that each user could choose between sharing their activity or not at tenant level. This options reacts in both ways, you won’t share your information, but at the same time, you won’t receive information from other users
  • Lastly, for me the best option, Microsoft has introduced a new managed property called: “HidefromDelve”, which allows filtering which contents is shown.

To configure it, you can create a site column with the name hidefromdelve of Yes/no type, the default value you can choose whatever you want, but take into account that if you choose yes, the content will be hide from Delve.

Next step is to add this column to all the libraries where you want to use this new property and to reindex these libraries. Also keep in mind that after creating the site column will be better to add this column to a content type, so all this libraries that use this content type, will inherit this new property.

I thinks that that’s all, If I discover new things about Delve I will try to keep updated this post.

File Shares as Content Source in SharePoint 2013 On Premises

Hi all!

Another quick post about file shares and SharePoint:

  1. Identify your crawl account, because this account will be used to index the file share (unless specified differently with a crawl rule), so it is necessary to have read access to the file share to this account
  2. If crawled files in file share system contain metadata, this will be used by the search refiners in SharePoint
  3. Security trimming is respected, so when end users search the document in the search site, it will be displayed according to the permissions given on the files and folders.
  4. Only metadata of the documents will be stored in SharePoint, not the documents
  5. It is not possible to get a preview from Office documents that are stored in File Shares, to get a preview, you’ll need to use third party tools.

That’s all!