Surendra Sharma

Surendra Sharma

Search This Blog

Sunday, August 13, 2017

How to render Brightcove video programmatically using sitecore item




Brightcove and Sitecore using CSharp
Brightcove and Sitecore using CSharp


It’s very easy to render Brightcove video through HTML as

<iframe src="//players.brightcove.net/4234/default_default/index.html?videoId=1111" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>

But do you know how to render it through programmatically?

Let’s suppose you are getting video item id and player id through Sitecore in your MVC view as

var playerHtml = string.Empty;
<div>
@{
    playerHtml = HelperClass.Instance().GetVideoPlayerMarkup(Model.VideoItemGuidId, Model.PlayerGuidId, 170, 300);
}
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
@Html.Raw(playerHtml)
<script type="text/javascript">
    brightcove.createExperiences();
</script>
</div>

This view calling GetVideoPlayerMarkup() method which accept 4 parameters – video item id, player item id, video player’s height and width.

You need to include below namespace for using this method

using Sitecore.MediaFramework.Pipelines.MediaGenerateMarkup;
using Sitecore.MediaFramework.Players;

Here is a C# code for this method as

public virtual string GetVideoPlayerMarkup(ID videoItemId, ID playerItemId, int height, int width)
{
    var playerHtml = string.Empty;
    PlayerProperties playerProperties = new PlayerProperties()
    {
        ItemId = videoItemId,
        PlayerId = playerItemId,
        Height = height,
        Width = width
    };
    MediaGenerateMarkupArgs args = new MediaGenerateMarkupArgs()
    {
        MarkupType = MarkupType.Html,
        Properties = playerProperties
    };
    MediaGenerateMarkupPipeline.Run(args);
    if (!args.Aborted)
    {
        playerHtml = args.Result.Html;
    }
    return playerHtml;
}

That’s it. Now when you render this view you will get the Brightcove video on the browser.

I hope you like this Sitecore-Brightcove integration through code. Stay tuned for more Sitecore related articles.

Till that happy Sitecoring :)

Please leave your comments or share this code if it’s useful for you.

Monday, July 10, 2017

Fix : 'Lucene.Net.Index.MergePolicy.MergeException' occurred in Lucene.Net.dll


If you are using Lucene search in your Sitecore project, you may receive Visual Studio Just-In-Time Debugger window which ask you for debugging.

When you debug you may encountered that there is an exception 'Lucene.Net.Index.MergePolicy.MergeException' in Lucene.Net.dll.

What does 'Lucene.Net.Index.MergePolicy.MergeException' mean?

This issue is related with your current Sitecore indexing and current indexes are not in well format. This typically happen when you copy full website from one developer machine to another. Indexes on new developer machine will not be in sync with its Sitecore instance.

How to fix it?

Simply delete all directories and files from "Data\indexes" folder and regenerate indexes from Sitecore Control Panel. 

I hope you like this Sitecore tip. Stay tuned for more Sitecore related tips.

Till that happy Sitecoring :)

Please leave your comments or share this tip if it’s useful for you.

Friday, July 7, 2017

Resolved Sitecore WFFM error : Redirect item is null




If you are using Sitecore WFFM then you may encounter this WFFM error "Redirect item is null" on your browser. 

It indicate that on WFFM Submit button, you had set Success page to an item which either does not exists or not published. 

WFFM success action
WFFM success action


To fix that try to point your success page to some another item or just show the Success Message.

I hope you like this Sitecore tip. Stay tuned for more Sitecore related tips.

Till that happy Sitecoring :)

Please leave your comments or share this tip if it’s useful for you.