MVC Blank Space Above Navbar

I recently came across a very annoying "feature" when developing an MVC5 site, and it took a few hours to resolve.

The white/blank above the navbar is the issue. To resolve this I added a margin-top: -50px in the Header of the _layouts view and all other _layouts that I had developed. Now it looks like this.

<style>
        body {
            margin-top: -50px;
        }
</style>

SharePoint 2013 Calculated Column

I just migrated a SharePoint side from 2010 Foundation to SharePoint 2013 Foundation and discovered that the most important column in my Libraries was no longer rendering the HTML it needed. Instead, it was just displaying the HTML. It should be displaying an image in the 15 Hive based on the Date Today and the Report Status. I discovered that Calculated Columns were now disabled by default in SharePoint 2013 and up and that I had to disable this by default. Using the PowerShell below I was able to disable it, however it still would not render the image. I then discoved that the Calculated Column MUST be a Number Data Type and NOT a Single Line of Text that it was in SharePoint 2010.

Just to add to the pain, I was using the Today trick for a column that is referenced in the formula. This is where you create a column that defaults to Today's Date, apply the formula and then delete the Today Column. I accomplished this using some PowerShell and at the same time changed the Data Type to a Number.

Switch if OFF - The Calculated Column Must be a Number output type
$webApp = Get-SPWebApplication https://mySPSite.com
$webApp.CustomMarkupInCalculatedFieldDisabled = $false
$webApp.Update()
Script for updating the Calculated column to a Number Data Type and with the Today Column Added and Deleted after the formula was updated.
if($doesTodayFieldExist -eq $false)
{	
	Write-Host "Creating Today Field" -ForegroundColor DarkBlue
	$dateTimeFieldType = [Microsoft.SharePoint.SPFieldType]::DateTime
	$fieldName = $list.Fields.Add("Today", $dateTimeFieldType, $false)
	$list.Fields[$fieldName].DefaultValue = "[Today]"
	Write-Host "Updating List"  -ForegroundColor DarkBlue
	$list.Update()
}

$field = $list.Fields["Status"]
if($field.Title -eq "Status" -and $field.Type -eq "Calculated")
{ 
	Write-Host "Updating Calculated Column" -ForegroundColor DarkBlue
	$field.Formula = "=Formula Goes here!"

	# For SharePoint 2013 and up this must be a number field
	$field.OutputType = [Microsoft.SharePoint.SPFieldType]::Number
	Write-Host "Updating Field" -ForegroundColor DarkBlue
	$field.Update()
	Write-host "Updating List" -ForegroundColor DarkBlue
	$list.Update()
}			

$field = $list.Fields["Today"]
if($field -ne $null)
{
	Write-host "Deleting Today Field" -ForegroundColor DarkBlue
	$field.Delete()	
	Write-host "Updating List" -ForegroundColor DarkBlue
	$list.Update()
}

SharePoint Custom Pop-up not posting back after first attempt.

This change was required for the SharePoint 2013 Upgrade (from SharePoint 2010), otherwise the page would only post back once and needed to be closed and re-opened to resubmit updates. The change was in private Control RenderHeaderBar()

var header2 = new HtmlGenericControl("h4");

string text2 = "Report ID:" + InspectionReportId + " GUID:" + InspectionReportGuid;

header2.InnerText = text2;

headerBox.Controls.Add(header2);

Authentication Failed because remote party has closed the transport stream

Found Here: .net - Authentication failed because remote party has closed the transport stream - Stack Overflow

I came across this issue when trying to send an e-mail to O365 via .NET C# code.

 

My Option is add the following Registry key:
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 
Value: SchUseStrongCrypto 

It is worth noting that .NET 4.6 will use the correct protocol by default and does not require either solution.

SharePoint 2013 images folder

Just as an FYI when moving from sharePoint 2010 to SharePoint 2013. The images folder is now accessed via _layouts/15/images. SharePoint 2010 was just _layouts/images!

Since the move to SharePoint 2013 requires that every reference to the “Hive” be prefixed with 15, and 16 for SharePoint 2016 etc, I have moved all logos and references to images to reference the images in the Style Library of each Site collection so that they will not break with consequent upgrades.

SQL White Spaces

I found myself with an issue with SQL Data. I could not trim the data with the trailing white space. Only this worked!

  UPDATE tblPipeClasses
  SET PipeClass =  Replace(PipeClass, Char(160),'')

I also wrote this function in VBA

Public Function RemoveExtendedAsciiCharacters(strString As String) As String

    Dim intCount As Integer    

    For intCount = 128 To 255

        If InStr(1, strString, Chr(intCount)) > 0 Then

            strString = Replace(strString, Chr(intCount), "")

        End If

    Next intCount    

    RemoveExtendedAsciiCharacters = strString

End Function

 

SQL Server Logs are Full

In SQL Server 2012R2 I found that my Log files were always getting so big that they would fill the L drive. So I wrote a script that will Truncate all the Log files. You can also do this on each individual database by right clicking, select Shrink, then Files. Click OK. See below for more details.

Also Check this URL: What is the command to truncate a SQL Server log file? - Stack Overflow

In management studio:

  • Don't do this on a live environment, but to ensure you shrink your dev db as much as you can:
    • Right-click the database, choose Properties then Options
    • Make sure "Recovery model" is set to "Simple" not "Full"
    • Click OK
  • Right-click the database again, choose Tasks -> Shrink -> Files
  • Change file type to "Log"
  • Click OK.

Alternatively, the SQL to do it:

USE DatabaseName
ALTER
DATABASE DatabaseName SET RECOVERY SIMPLE
DBCC SHRINKFILE (DatabaseName_Log, 1)
ALTER DATABASE DatabaseName SET 
RECOVERY FULL 

SharePoint 2010 Upgrade fails. CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.

SharePoint 2010 CU update error: CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.

https://social.msdn.microsoft.com/Forums/en-US/f6f30ede-b614-4773-be98-0c9fac29ca37/upgrade-session-failed-100-complete?forum=sharepointadmin

Steps to Resolve:
-----------------------------------

Open Central Admin - Manage Web Applications - Select web application - Click on Delete Drop Down (Do not click on Delete Button) - Select Remove SharePoint from IIS Web site - Click following drop down - Remove SharePoint from IIS - Select IIS web site and zone to remove - Check if you see any web site which is not present in IIS - If you see any web site which is not under IIS then just select that and remove it from SharePoint.

Note:- Follow above steps on all SharePoint web servers.

Once above steps are done you can again run the PSConfig upgrade wizard and it should be successfull.

Upgrade command: psconfig.exe -cmd upgrade -inplace b2b -wait -force