Error acces to registry key when installing RBS.msi

This article about encounter registry access denied error when installing RBS.msi as your account already added Local Administrator group in Windows Server 2008

Here is the complete error:
“Installing the FILESTREAM blob store failed with error message:
Access to the registry key
‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Remote Blob Storage’ is denied.
Setup will continue the installation”

Cause : UAC

Solution: Disable UAC

.

Sharepoint Calculated Column’s Formula Syntax changes by specific culture.

Symptom :

One of our customer complain that after migrate Sharepoint 2007 farm to Sharepoint 2010 farm and implement turkish language pack , calculated column of formula is not working.And Getting error The Formula contains a syntax error is not supported.

Solution:

Change the culture settings to previous language than see it will work. If you load Turkish Language Pack and define Religional Settings -> Culture as Turkish , Calculated Column Formula syntax has changed to use “;” semi colon instead of “,” colon. Because Decimal seperator is “,” colon  in some cultures like Turkish and this cause a conflict between Calculated Column Formule Syntax  Parameter seperator and Decimal Seperator.

For Example:

SUM(10.10 , 10.20 , 10.30)  it s working en-US as total of 30.60

SUM(10,10 , 10,20 , 10,30)  its working wrong  tr-TR as total of 120.

Here is the right usage:

SUM(10,10 ; 10,20 ; 10,30)

In Migration senarios you have to careful for culture differences between two product.

Happy Migrations..

Sharepoint 2010 Scrollbar not working problem when hiding ribbon

Symptoms:

When using SPSecurityTrimmedControl for hiding Sharepoint 2010 ribbon scrollbar is not working for users who denied to see ribbon.

Cause:
If you use SPSecurityTrimmedControl cover all divs that include the ribbon in masterpage , the page is not renders correctly. This is an incorrect programming situation .

Incorret usage:

<SharePoint:SPSecurityTrimmedControl ID="IncorrectUsage" runat="server" PermissionsString="ManageWeb">
<div id="s4-ribbonrow" style="display:none">
<div id="s4-ribboncont">
   <SharePoint:SPRibbon...
    Your ribbon
   </Sharepoint:SRibbon>
</div>
</div>
</SharePoint:SPSecurityTrimmedControl>

Resolution:
Use your SPSecurityTrimmedControl inside of divs which is already covers ribbon.

Correct:

<div id="s4-ribbonrow" style="display:none">
<div id="s4-ribboncont">
<SharePoint:SPSecurityTrimmedControl ID="CorrectUsage" runat="server" PermissionsString="ManageWeb">
   <SharePoint:SPRibbon...
    Your ribbon
   </Sharepoint:SRibbon>
</SharePoint:SPSecurityTrimmedControl></div> </div>

..

For hiding ribbon correctly you need to add extra scripting .

First to be sure jquery added your master page .

<script type="text/javascript" src="https://blog.bugrapostaci.com/_catalogs/scripts/jquery.js"></script>

And we add an extra SPSecurityTrimmedControl which contains javascript for showing ribbon to who have to see.

<SharePoint:SPSecurityTrimmedControl ID="st1" runat="server" PermissionsString="ManageWeb">
this text will be shown by only admins
<script type="text/javascript">
$(document).ready(function()
{
$('#s4-ribbonrow').show();
});
</script>
</SharePoint:SPSecurityTrimmedControl>

and adding an extra attribute to cover div for hiding ribbon

<div id="s4-ribbonrow" style="display: none;">

Dont forget to save your master page and publish it.

If you dont want to attend too much you can download and use this tool for this.

http://spribbonvisibility.codeplex.com/

Happy solutions …
Bye now.
.

Sharepoint Send Email workaround via WCF Service

When you try to send an email with classical way in WCF service which is served in sharepoint you probably getting an error. As a workaround, you have to set HttpContext.Current = null. it will use the right context .

Here is the example:

try {    using (SPSite site = new SPSite("http://blog.bugrapostaci.com"))    {        SPWeb web = site.RootWeb;         {             //Save context to temp variable than set null             HttpContext tempContext = HttpContext.Current;             HttpContext.Current = null;             string MailTo = "admin@blog.bugrapostaci.com";             string Subject = "Make it easy";             string Body = "A message from Bugra";             bool success = SPUtility.SendEmail(web, true, true, MailTo, Subject, Body);             HttpContext.Current = tempContext;         }     } } catch (Exception ex) {     // Exception Handling }
Happy coddings...