Tuesday, March 14, 2017

What is a BLOB cache in SharePoint and how to use it?

Hi Friends,

In this article, we are going to learn what is a BLOB cache and how to configure it.

The term BLOB means Binary Large Objects. BLOB cache is one of the disk-based caching techniques used in the SharePoint applications which has large amounts of Media content (Video, Audio and Images etc.,) and heavy user traffic.

So basically this method is used to improve the performance of a SharePoint Application. You can also find some of the other SharePoint performance improvement techniques here.

Disk-based caching techniques are extremely fast which eliminates the need for database round trips. BLOBs are retrieved from the database once and stored on the Web client(WFE server). Further requests are served from the cache and trimmed based on security.

Note: If you are using Image Renditions in the application, then BLOB Cache is the pre-requisite.

We can enable/disable the BLOB cache by modifying the web.config file of the SharePoint web application.
By Default, BLOB cache is disabled. Below is how it looks like.

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" enabled="false" />

- Location is the directory where the cached files will be stored.
- Path specifies which files(Ex: mov|mp3|mp4|mpeg|mpg) are cached based on the file extension.
- maxSize is the maximum allowable size of the disk-based cache in gigabytes.

- enabled is a Boolean that disables or enables the cache.

To turn ON the BLOB, just make the property enabled as true as shown below.

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" enabled="true" />

Note : change the location attribute to specify a directory that has enough space to accommodate the cache size.


Hope this helps...

Monday, March 13, 2017

What is the difference between Local Storage and Cookies

Hi Friends,

In this post we are going to talk about when to use Local storage and Cookies.

To begin with, this is an extremely broad scope question, and a lot of pros/cons will be contextual to the situation.

Please find the below differences.


Local Storage
Cookies
Good to store large amount of data, up to 4MB
Good for small amount of data.
Cookies give you a limit of 4096 bytes (4095, actually) per cookie
Local Storage allow you to store JavaScript primitives but not Objects or Arrays (it is possible to JSON serialize them to store them using the APIs)
Cookies only allow you to store strings
Local storage data is not sent to the server on every request (HTTP header) as it is purely at the client side
All data is transferred to and from server, so bandwidth is consumed on every request
It stores data with no expiration date, and gets cleared only through JavaScript, or clearing the Browser Cache / Locally Stored Data
Can specify timeout period so that cookies data are removed from browser
Local storage stores the data in the form of key and value

Not supported by anything before: IE 8, Firefox 3.5, Safari 4, Chrome 4, Opera 10.5, iOS 2.0, Android 2.0
local storage can only be read client-side



Hope this helps...

Friday, March 10, 2017

When to use ScriptLink in SharePoint 2013

Hi Folks,

Some times we will run into situations where our custom js file should load only after the page is ready.

In this kind of scenario's, best thing to use is ScriptLink.

ScriptLink have the ability to specify, when we want the script to load asynchronously after the page is ready. By Default, the ScriptLink will always look for the scripts present in /_LAYOUTS/1033 folder.

<SharePoint:ScriptLink language="javascript" name="MyCustomJS.js" Defer="true" runat="server"></SharePoint:ScriptLink>

MyCustom.js should be present in /_LAYOUTS/1033 folder, if not we will get a SharePoint Error screen.

If you set the "Localizable" property of the ScriptLink to false, you can also reference files outside of /_LAYOUTS/1033/ and just put your path to the "Name" property

<SharePoint:ScriptLink Language="javascript" Localizable="false" Name="/_layouts/JS/MyCustomJS.js" runat="server"></SharePoint:ScriptLink>

With the above approaches, we can load the page first and then load the script file.

Note: Using Defer="False" is basically the same as loading the script with the usual method as below.
<script type="text/javascript" src="/_layouts/1033/MyCustomJS.js"></script>


Hope this helps...

Popular Posts